﻿<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>Gallio</name>
  </assembly>
  <members>
    <member name="T:Gallio.Common.Accessor`2">
      <summary>
            Represents a method that returns a value of a specified type from the instance of an object.
            </summary>
      <param name="obj">The object to get the value from.</param>
      <typeparam name="T">The type of the object to get the value from.</typeparam>
      <typeparam name="TValue">The type of the returned value.</typeparam>
      <returns>The returned value.</returns>
    </member>
    <member name="T:Gallio.Common.Action">
      <summary>
            An action with no arguments.
            </summary>
    </member>
    <member name="T:Gallio.Common.Action`2">
      <summary>
            An action with two arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Action`3">
      <summary>
            An action with three arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <param name="arg3">The third argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
      <typeparam name="T3">The third argument type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Action`4">
      <summary>
            An action with four arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <param name="arg3">The third argument.</param>
      <param name="arg4">The fourth argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
      <typeparam name="T3">The third argument type.</typeparam>
      <typeparam name="T4">The fourth argument type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Action`5">
      <summary>
            An action with five arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <param name="arg3">The third argument.</param>
      <param name="arg4">The fourth argument.</param>
      <param name="arg5">The fifth argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
      <typeparam name="T3">The third argument type.</typeparam>
      <typeparam name="T4">The fourth argument type.</typeparam>
      <typeparam name="T5">The fifth argument type.</typeparam>
    </member>
    <member name="T:Gallio.Common.ActionChain`1">
      <summary>
            An action chain captures a sequence of actions to be performed as
            part of a complex multi-part process.
            </summary>
      <typeparam name="T">The action argument type.</typeparam>
    </member>
    <member name="M:Gallio.Common.ActionChain`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.ActionChain`1" /> class</summary>
    </member>
    <member name="P:Gallio.Common.ActionChain`1.Action">
      <summary>
            Gets or sets a representation of the chain as a single action.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`1.After(System.Action{`0})">
      <summary>
            Registers an action to perform after all other actions
            currently in the chain.
            </summary>
      <param name="action">The action to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`1.Around(Gallio.Common.ActionDecorator{`0})">
      <summary>
            Registers an action to perform around all other actions
            currently in the chain.  The contained part of the chain
            is passed in as an action to the decorator that the decorator
            can choose to run (or not) as needed.
            </summary>
      <param name="decorator">The decorator to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="decorator" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`1.Before(System.Action{`0})">
      <summary>
            Registers an action to perform before all other actions
            currently in the chain.
            </summary>
      <param name="action">The action to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`1.Clear">
      <summary>
            Clears the chain and sets it action to <see cref="F:Gallio.Common.ActionChain`1.NoOp" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.ActionChain`1.NoOp">
      <summary>
            Gets a singleton action that does nothing when invoked.
            </summary>
    </member>
    <member name="T:Gallio.Common.ActionChain`2">
      <summary>
            An action chain captures a sequence of actions to be performed as
            part of a complex multi-part process.
            </summary>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
    </member>
    <member name="M:Gallio.Common.ActionChain`2.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.ActionChain`2" /> class</summary>
    </member>
    <member name="P:Gallio.Common.ActionChain`2.Action">
      <summary>
            Gets or sets a representation of the chain as a single action.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`2.After(Gallio.Common.Action{`0,`1})">
      <summary>
            Registers an action to perform after all other actions
            currently in the chain.
            </summary>
      <param name="action">The action to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`2.Around(Gallio.Common.ActionDecorator{`0,`1})">
      <summary>
            Registers an action to perform around all other actions
            currently in the chain.  The contained part of the chain
            is passed in as an action to the decorator that the decorator
            can choose to run (or not) as needed.
            </summary>
      <param name="decorator">The decorator to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="decorator" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`2.Before(Gallio.Common.Action{`0,`1})">
      <summary>
            Registers an action to perform before all other actions
            currently in the chain.
            </summary>
      <param name="action">The action to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ActionChain`2.Clear">
      <summary>
            Clears the chain and sets it action to <see cref="F:Gallio.Common.ActionChain`2.NoOp" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.ActionChain`2.NoOp">
      <summary>
            Gets a singleton action that does nothing when invoked.
            </summary>
    </member>
    <member name="T:Gallio.Common.ActionDecorator`1">
      <summary>
            Represents a delegate that decorates an action.
            </summary>
      <param name="obj">The object to act upon.</param>
      <param name="action">The action to decorate which should be called in
            the middle of applying the decoration.</param>
      <typeparam name="T">The type of object the action is performed upon.</typeparam>
    </member>
    <member name="T:Gallio.Common.ActionDecorator`2">
      <summary>
            Represents a delegate that decorates an action.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <param name="action">The action to decorate which should be called in
            the middle of applying the decoration.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Condition">
      <summary>
            A condition is a simple light-weight mechanism for evaluating conditional
            expressions in a given context.
            </summary>
    </member>
    <member name="M:Gallio.Common.Condition.Evaluate(Gallio.Common.ConditionContext)">
      <summary>
            Returns true if the condition is satisfied in the given context.
            </summary>
      <param name="context">The condition evaluation context.</param>
      <returns>True if the condition is satisfied.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="context" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Condition.Parse(System.String)">
      <summary>
            Parses a condition from an expression.
            </summary>
      <param name="expression">The expression to parse.</param>
      <returns>The expression.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expression" /> is null.</exception>
      <exception cref="T:System.FormatException">Thrown if <paramref name="expression" /> cannot be parsed.</exception>
    </member>
    <member name="M:Gallio.Common.Condition.ToString">
      <summary>
            Returns the conditional expression as a string.
            </summary>
      <returns>The expression string.</returns>
    </member>
    <member name="T:Gallio.Common.ConditionContext">
      <summary>
            A condition context provides information used to evaluate whether a condition holds true.
            </summary>
    </member>
    <member name="M:Gallio.Common.ConditionContext.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.ConditionContext" /> class</summary>
    </member>
    <member name="M:Gallio.Common.ConditionContext.HasProperty(System.String,System.String)">
      <summary>
            Returns true if the context contains a value for a given property.
            </summary>
      <param name="namespace">The property namespace.</param>
      <param name="identifier">The property identifier.</param>
      <returns>True if the context has the specified property.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="namespace" />
            or <paramref name="identifier" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.ConditionContext.HasPropertyImpl(System.String,System.String)">
      <summary>
            Returns true if the context contains a value for a given property.
            </summary>
      <param name="namespace">The property namespace, not null.</param>
      <param name="identifier">The property identifier, not null.</param>
      <returns>True if the context has the specified property.</returns>
    </member>
    <member name="T:Gallio.Common.EqualityComparison`1">
      <summary>
            Represents the method that determines whether two objects of the same type are equal.
            </summary>
      <param name="x">The first object to compare.</param>
      <param name="y">The second object to compare.</param>
      <typeparam name="T">The type of the objects to compare.</typeparam>
      <returns>True if the object are equal; otherwise false.</returns>
    </member>
    <member name="T:Gallio.Common.Func`1">
      <summary>
            A function with zero arguments.
            </summary>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The function result.</returns>
    </member>
    <member name="T:Gallio.Common.Func`2">
      <summary>
            A function with one argument.
            </summary>
      <param name="arg1">The first argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The function result.</returns>
    </member>
    <member name="T:Gallio.Common.Func`3">
      <summary>
            A function with two arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The function result.</returns>
    </member>
    <member name="T:Gallio.Common.Func`4">
      <summary>
            A function with three arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <param name="arg3">The third argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
      <typeparam name="T3">The third argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The function result.</returns>
    </member>
    <member name="T:Gallio.Common.Func`5">
      <summary>
            A function with four arguments.
            </summary>
      <param name="arg1">The first argument.</param>
      <param name="arg2">The second argument.</param>
      <param name="arg3">The third argument.</param>
      <param name="arg4">The fourth argument.</param>
      <typeparam name="T1">The first argument type.</typeparam>
      <typeparam name="T2">The second argument type.</typeparam>
      <typeparam name="T3">The third argument type.</typeparam>
      <typeparam name="T4">The fourth argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The function result.</returns>
    </member>
    <member name="T:Gallio.Common.FuncChain`2">
      <summary>
            A function chain captures a sequence of actions to be performed as
            part of a complex multi-part process.
            </summary>
      <typeparam name="T">The function argument type.</typeparam>
      <typeparam name="TResult">The function result type.</typeparam>
    </member>
    <member name="M:Gallio.Common.FuncChain`2.#ctor(Gallio.Common.Func{`0,`1})">
      <summary>
            Creates a function chain.
            </summary>
      <param name="func">The initial function.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="func" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.FuncChain`2.Around(Gallio.Common.FuncDecorator{`0,`1})">
      <summary>
            Registers a function decorator to perform around all other actions
            currently in the chain.  The contained part of the chain
            is passed in as a function to the decorator that the decorator
            can choose to run (or not) as needed.
            </summary>
      <param name="decorator">The decorator to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="decorator" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.FuncChain`2.Func">
      <summary>
            Gets or sets a representation of the chain as a single function.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.FuncDecorator`2">
      <summary>
            Represents a delegate that decorates a function.
            </summary>
      <param name="obj">The object to act upon.</param>
      <param name="func">The function to decorate which should be called in
            the middle of applying the decoration.</param>
      <typeparam name="T">The type of object the function is performed upon.</typeparam>
      <typeparam name="TResult">The type of the function result.</typeparam>
    </member>
    <member name="T:Gallio.Common.Hash64">
      <summary>
            A 64 bit hash code value type.
            </summary>
    </member>
    <member name="M:Gallio.Common.Hash64.#ctor(System.Int64)">
      <summary>
            Gets a hash code containing the specified 64bit value.
            </summary>
      <param name="value">The 64bit value.</param>
    </member>
    <member name="M:Gallio.Common.Hash64.Add(System.String)">
      <summary>
            Produces a new hash code by combining information from the specified string
            with this hash code.
            </summary>
      <param name="str">The string, may be null if none.</param>
      <returns>The augmented hash code.</returns>
    </member>
    <member name="M:Gallio.Common.Hash64.CreateUniqueHash">
      <summary>
            Creates a proabilistically unique 64bit hash code.
            </summary>
    </member>
    <member name="M:Gallio.Common.Hash64.Equals(Gallio.Common.Hash64)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Hash64.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Hash64.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="M:Gallio.Common.Hash64.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="T:Gallio.Common.ICloneable`1">
      <summary>
            Provides a typed clone operation.
            </summary>
      <typeparam name="T">The type produced when the object is cloned.</typeparam>
    </member>
    <member name="M:Gallio.Common.ICloneable`1.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="T:Gallio.Common.KeyedMemoizer`2">
      <summary>
            A structure that memoizes the result of some computation for later reuse.
            Maintains an internal dictionary to memoize results by key.
            </summary>
      <typeparam name="TKey">The key type.</typeparam>
      <typeparam name="TValue">The value type.</typeparam>
    </member>
    <member name="M:Gallio.Common.KeyedMemoizer`2.Memoize(`0,Gallio.Common.Func{`1})">
      <summary>
            Gets the memoized value for the given key if available, otherwise populates it
            using the specified populator function and stores it in association with its keys
            for later reuse.
            </summary>
      <param name="key">The key by which to look up a memoized result.</param>
      <param name="populator">The populator for the value associated with the key.</param>
      <returns>The value returned by the populator, possibly memoized.</returns>
    </member>
    <member name="T:Gallio.Common.Memoizer`1">
      <summary>
            A structure that memoizes the result of some computation for later reuse.
            </summary>
      <typeparam name="T">The value type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Memoizer`1.Memoize(Gallio.Common.Func{`0})">
      <summary>
            Gets the memoized value if available, otherwise populates it
            using the specified populator function and stores it for later reuse.
            </summary>
      <param name="populator">The populator.</param>
      <returns>The value returned by the populator, possibly memoized.</returns>
    </member>
    <member name="T:Gallio.Common.Pair`2">
      <summary>
            An immutable record that holds two values.
            </summary>
      <typeparam name="TFirst">The type of the first value.</typeparam>
      <typeparam name="TSecond">The type of the second value.</typeparam>
    </member>
    <member name="M:Gallio.Common.Pair`2.#ctor(`0,`1)">
      <summary>
            Creates a pair.
            </summary>
      <param name="first">The first value.</param>
      <param name="second">The second value.</param>
    </member>
    <member name="P:Gallio.Common.Pair`2.First">
      <summary>
            Gets the first value.
            </summary>
    </member>
    <member name="P:Gallio.Common.Pair`2.Second">
      <summary>
            Gets the second value.
            </summary>
    </member>
    <member name="T:Gallio.Common.SchemaConstants">
      <summary>
            Defines constants used throughout the Gallio schema.
            </summary>
    </member>
    <member name="F:Gallio.Common.SchemaConstants.XmlNamespace">
      <summary>
            The XML namespace for all schema types.
            </summary>
    </member>
    <member name="T:Gallio.Common.Triple`3">
      <summary>
            An immutable record that holds three values.
            </summary>
      <typeparam name="TFirst">The type of the first value.</typeparam>
      <typeparam name="TSecond">The type of the second value.</typeparam>
      <typeparam name="TThird">The type of the third value.</typeparam>
    </member>
    <member name="M:Gallio.Common.Triple`3.#ctor(`0,`1,`2)">
      <summary>
            Creates a triple.
            </summary>
      <param name="first">The first value.</param>
      <param name="second">The second value.</param>
      <param name="third">The third value.</param>
    </member>
    <member name="P:Gallio.Common.Triple`3.First">
      <summary>
            Gets the first value.
            </summary>
    </member>
    <member name="P:Gallio.Common.Triple`3.Second">
      <summary>
            Gets the second value.
            </summary>
    </member>
    <member name="P:Gallio.Common.Triple`3.Third">
      <summary>
            Gets the third value.
            </summary>
    </member>
    <member name="T:Gallio.Common.Unit">
      <summary>
            A value type that represents the result of evaluating an
            expression of type <see cref="T:System.Void" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Unit.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="F:Gallio.Common.Unit.Value">
      <summary>
            Gets the singular value of the <see cref="T:Gallio.Common.Unit" /> type.
            </summary>
    </member>
    <member name="T:Gallio.Common.Caching.DiskCacheException">
      <summary>
            The type of exception thrown when an error occurs while manipulating the disk cache.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.DiskCacheException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.DiskCacheException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Caching.DiskCacheException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Caching.DiskCacheException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Caching.IDiskCache">
      <summary>
            A disk cache manages temporary files and directories stored on disk and
            arranged into groups associated with arbitrary string keys.
            </summary>
    </member>
    <member name="P:Gallio.Common.Caching.IDiskCache.Groups">
      <summary>
            Gets the collection of disk cache groups.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCache.Purge">
      <summary>
            Deletes all items in the cache.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="T:Gallio.Common.Caching.IDiskCacheGroup">
      <summary>
            A disk cache group represents an indexed partition of the disk cache.
            </summary>
    </member>
    <member name="P:Gallio.Common.Caching.IDiskCacheGroup.Cache">
      <summary>
            Gets the disk cache that contains the group.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCacheGroup.Create">
      <summary>
            Creates the group if it does not exist.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCacheGroup.CreateSubdirectory(System.String)">
      <summary>
            Creates a directory within the group.
            </summary>
      <param name="relativeDirectoryPath">The relative path of the directory to create within the group.</param>
      <returns>Directory information for the directory that was created.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeDirectoryPath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCacheGroup.Delete">
      <summary>
            Deletes the group and all of its contents if any.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="P:Gallio.Common.Caching.IDiskCacheGroup.Exists">
      <summary>
            Returns true if the group exists on disk.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCacheGroup.GetFileInfo(System.String)">
      <summary>
            Gets information about a file within the group.
            </summary>
      <param name="relativeFilePath">The relative path of the file within the group.</param>
      <returns>The file info.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeFilePath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCacheGroup.GetSubdirectoryInfo(System.String)">
      <summary>
            Gets information about a directory within the group.
            </summary>
      <param name="relativeDirectoryPath">The relative path of the directory within the group.</param>
      <returns>The directory info.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeDirectoryPath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="P:Gallio.Common.Caching.IDiskCacheGroup.Key">
      <summary>
            Gets the key of the group.
            </summary>
    </member>
    <member name="P:Gallio.Common.Caching.IDiskCacheGroup.Location">
      <summary>
            Gets the <see cref="T:System.IO.DirectoryInfo" /> that represents the physical
            storage location of the disk cache group in the filesystem.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.IDiskCacheGroup.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)">
      <summary>
            Opens a file within the group.
            </summary>
      <param name="relativeFilePath">The relative path of the file to open within the group.</param>
      <param name="mode">The file open mode.</param>
      <param name="access">The file access mode.</param>
      <param name="share">The file sharing mode.</param>
      <returns>The file stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeFilePath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="T:Gallio.Common.Caching.IDiskCacheGroupCollection">
      <summary>
            Represents a collection of groups in a disk cache indexed by an aritrary key string.
            </summary>
    </member>
    <member name="P:Gallio.Common.Caching.IDiskCacheGroupCollection.Item(System.String)">
      <summary>
            Gets the group with the specified key.
            </summary>
      <param name="key">The key.</param>
      <returns>The group.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Caching.SimpleDiskCache">
      <summary>
            A simple disk cache that stores its contents in a particular directory using hashes
            of the key values to ensure uniqueness.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.#ctor(System.String)">
      <summary>
            Creates a simple disk cache.
            </summary>
      <param name="cacheDirectoryPath">The path of the cache directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheDirectoryPath" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Caching.SimpleDiskCache.CacheDirectoryPath">
      <summary>
            Gets the path of the cache directory.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.GetGroup(System.String)">
      <summary>
            Gets the group with the given key.
            </summary>
      <param name="key">The key, nor null.</param>
      <returns>The cache group.</returns>
    </member>
    <member name="P:Gallio.Common.Caching.SimpleDiskCache.Groups">
      <summary>
            Gets the collection of disk cache groups.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Purge">
      <summary>
            Deletes all items in the cache.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="T:Gallio.Common.Caching.SimpleDiskCache.Group">
      <summary>
            Represents a disk cache group.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.#ctor(Gallio.Common.Caching.IDiskCache,System.String,System.IO.DirectoryInfo)">
      <summary>
            Creates a group.
            </summary>
      <param name="cache">The cache.</param>
      <param name="key">The cache group key.</param>
      <param name="location">The location of the cache group.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cache" />,
            <paramref name="key" /> or <paramref name="location" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Caching.SimpleDiskCache.Group.Cache">
      <summary>
            Gets the disk cache that contains the group.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.Create">
      <summary>
            Creates the group if it does not exist.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.CreateSubdirectory(System.String)">
      <summary>
            Creates a directory within the group.
            </summary>
      <param name="relativeDirectoryPath">The relative path of the directory to create within the group.</param>
      <returns>Directory information for the directory that was created.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeDirectoryPath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.Delete">
      <summary>
            Deletes the group and all of its contents if any.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="P:Gallio.Common.Caching.SimpleDiskCache.Group.Exists">
      <summary>
            Returns true if the group exists on disk.
            </summary>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.GetFileInfo(System.String)">
      <summary>
            Gets information about a file within the group.
            </summary>
      <param name="relativeFilePath">The relative path of the file within the group.</param>
      <returns>The file info.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeFilePath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.GetSubdirectoryInfo(System.String)">
      <summary>
            Gets information about a directory within the group.
            </summary>
      <param name="relativeDirectoryPath">The relative path of the directory within the group.</param>
      <returns>The directory info.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeDirectoryPath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="P:Gallio.Common.Caching.SimpleDiskCache.Group.Key">
      <summary>
            Gets the key of the group.
            </summary>
    </member>
    <member name="P:Gallio.Common.Caching.SimpleDiskCache.Group.Location">
      <summary>
            Gets the <see cref="T:System.IO.DirectoryInfo" /> that represents the physical
            storage location of the disk cache group in the filesystem.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.SimpleDiskCache.Group.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)">
      <summary>
            Opens a file within the group.
            </summary>
      <param name="relativeFilePath">The relative path of the file to open within the group.</param>
      <param name="mode">The file open mode.</param>
      <param name="access">The file access mode.</param>
      <param name="share">The file sharing mode.</param>
      <returns>The file stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="relativeFilePath" /> is null.</exception>
      <exception cref="T:Gallio.Common.Caching.DiskCacheException">Thrown if an error occurs.</exception>
    </member>
    <member name="T:Gallio.Common.Caching.TemporaryDiskCache">
      <summary>
            A disk cache that stores its contents in the user's temporary directory.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.TemporaryDiskCache.#ctor">
      <summary>
            Creates a temporary disk cache within the <see cref="F:Gallio.Common.Caching.TemporaryDiskCache.DefaultCacheDirectoryName" /> 
            subdirectory of the user's temporary directory.
            </summary>
    </member>
    <member name="M:Gallio.Common.Caching.TemporaryDiskCache.#ctor(System.String)">
      <summary>
            Creates a temporary disk cache within the specified subdirectory of the user's temporary directory.
            </summary>
      <param name="cacheDirectoryName">The name of the cache subdirectory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheDirectoryName" /> is null.</exception>
    </member>
    <member name="F:Gallio.Common.Caching.TemporaryDiskCache.DefaultCacheDirectoryName">
      <summary>
            The default cache directory name.
            </summary>
    </member>
    <member name="T:Gallio.Common.Collections.ArrayEqualityComparer`1">
      <summary>
            Compares arrays for equality by element.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.ArrayEqualityComparer`1.#ctor">
      <summary>
            Creates a default array equality comparer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.ArrayEqualityComparer`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
      <summary>
            Creates an array equality comparer using the specified element comparer.
            </summary>
      <param name="elementComparer">The comparer to use to compare individual elements,
            or null to use <see cref="P:System.Collections.Generic.EqualityComparer`1.Default" />.</param>
    </member>
    <member name="F:Gallio.Common.Collections.ArrayEqualityComparer`1.Default">
      <summary>
            Gets a default instance of the array equality comparer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.ArrayEqualityComparer`1.Equals(`0[],`0[])">
      <summary>
                    Determines whether the specified objects are equal.
                </summary>
      <param name="x">
                    The first object of type <paramref name="T" /> to compare.
                </param>
      <param name="y">
                    The second object of type <paramref name="T" /> to compare.
                </param>
      <returns>true if the specified objects are equal; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.ArrayEqualityComparer`1.GetHashCode(`0[])">
      <summary>
                    Returns a hash code for the specified object.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> for which a hash code is to be returned.
                </param>
      <returns>
                    A hash code for the specified object.
                </returns>
      <exception cref="T:System.ArgumentNullException">
                    The type of <paramref name="obj" /> is a reference type and <paramref name="obj" /> is null.
                </exception>
    </member>
    <member name="T:Gallio.Common.Collections.CollectionUtils">
      <summary>
            Utility functions for manipulating collections.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.CollectionUtils.ConvertAllToArray``2(System.Collections.ICollection,System.Converter{``0,``1})">
      <summary>
            Converts all elements of the input collection and returns the collected results as an array
            of the same size.
            </summary>
      <param name="input">The input collection.</param>
      <param name="converter">The conversion function to apply to each element.</param>
      <typeparam name="TInput">The input type.</typeparam>
      <typeparam name="TOutput">The output type.</typeparam>
      <returns>The output array.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.CollectionUtils.Find``1(System.Collections.IEnumerable,System.Predicate{``0})">
      <summary>
            Returns the first element of the input enumeration for which the specified
            predicate returns true.
            </summary>
      <param name="enumeration">The input enumeration.</param>
      <param name="predicate">The predicate.</param>
      <typeparam name="T">The element type.</typeparam>
      <returns>The first matching value or the default for the type if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.CollectionUtils.ToArray``1(System.Collections.ICollection)">
      <summary>
            Copies all of the elements of the input collection to an array.
            </summary>
      <param name="collection">The input collection.</param>
      <typeparam name="T">The element type.</typeparam>
      <returns>The output array.</returns>
    </member>
    <member name="T:Gallio.Common.Collections.CovariantList`2">
      <summary>
            A covariant list converts a list of the input type to a
            read-only list of the more generic output type.  The wrapped
            list can be used to mimic covariance in method return types.
            </summary>
      <typeparam name="TInput">The input list type.</typeparam>
      <typeparam name="TOutput">The output list type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.CovariantList`2.#ctor(System.Collections.Generic.IList{`0})">
      <summary>
            Creates a wrapper for the specified list.
            </summary>
      <param name="inputList">The input list.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="inputList" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.CovariantList`2.Contains(`1)">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.CovariantList`2.CopyTo(`1[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.CovariantList`2.Count">
      <summary>
                    Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <returns>
                    The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.CovariantList`2.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.CovariantList`2.IndexOf(`1)">
      <summary>
                    Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.
                </param>
      <returns>
                    The index of <paramref name="item" /> if found in the list; otherwise, -1.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.CovariantList`2.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.CovariantList`2.Item(System.Int32)">
      <summary>
            Gets an item from the list with the specified index.
            </summary>
      <param name="index">The index.</param>
      <returns>The item.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="index" /> is out of range.</exception>
    </member>
    <member name="T:Gallio.Common.Collections.EmptyArray`1">
      <summary>
            Provides a singleton empty array instance.
            </summary>
      <typeparam name="T">The type of array to provide.</typeparam>
    </member>
    <member name="F:Gallio.Common.Collections.EmptyArray`1.Instance">
      <summary>
            An empty array of type <typeparamref name="T" />.
            </summary>
    </member>
    <member name="T:Gallio.Common.Collections.EmptyDictionary`2">
      <summary>
            A read-only empty dictionary.
            </summary>
      <typeparam name="TKey">The dictionary key type.</typeparam>
      <typeparam name="TValue">The dictionary value type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Collections.EmptyDictionary`2" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
                    Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.Add(`0,`1)">
      <summary>
                    Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The object to use as the key of the element to add.
                </param>
      <param name="value">
                    The object to use as the value of the element to add.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.ArgumentException">
                    An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.Clear">
      <summary>
                    Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.ContainsKey(`0)">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key.
                </summary>
      <param name="key">
                    The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </param>
      <returns>true if the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.EmptyDictionary`2.Count">
      <summary>
                    Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <returns>
                    The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="F:Gallio.Common.Collections.EmptyDictionary`2.Instance">
      <summary>
            A read-only empty dictionary instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Collections.EmptyDictionary`2.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.EmptyDictionary`2.Item(`0)">
      <summary>
                    Gets or sets the element with the specified key.
                </summary>
      <param name="key">
                    The key of the element to get or set.
                </param>
      <returns>
                    The element with the specified key.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">
                    The property is retrieved and <paramref name="key" /> is not found.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The property is set and the <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.EmptyDictionary`2.Keys">
      <summary>
                    Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
                    Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.Remove(`0)">
      <summary>
                    Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The key of the element to remove.
                </param>
      <returns>true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key" /> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.EmptyDictionary`2.TryGetValue(`0,`1@)">
      <summary>
                    Gets the value associated with the specified key.
                </summary>
      <param name="key">
                    The key whose value to get.
                </param>
      <param name="value">
                    When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.
                </param>
      <returns>true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.EmptyDictionary`2.Values">
      <summary>
                    Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Collections.GenericCollectionUtils">
      <summary>
            Utility functions for manipulating generic collections.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.AddAll``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.ICollection{``0})">
      <summary>
            Adds all elements of the input enumeration to the output collection.
            </summary>
      <param name="input">The input enumeration.</param>
      <param name="output">The output collection.</param>
      <typeparam name="T">The element type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.AddAllIfNotAlreadyPresent``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.ICollection{``0})">
      <summary>
            Adds elements of the input enumeration to the output collection, 
            if not already present.
            </summary>
      <param name="input">The input enumeration.</param>
      <param name="output">The output collection.</param>
      <typeparam name="T">The element type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ConvertAllToArray``2(System.Collections.Generic.ICollection{``0},System.Converter{``0,``1})">
      <summary>
            Converts each element of the input collection and returns the collected results as an array
            of the same size.
            </summary>
      <param name="input">The input collection.</param>
      <param name="converter">The conversion function to apply to each element.</param>
      <typeparam name="TInput">The input type.</typeparam>
      <typeparam name="TOutput">The output type.</typeparam>
      <returns>The output array.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ConvertAndAddAll``2(System.Collections.Generic.ICollection{``0},System.Collections.Generic.ICollection{``1},System.Converter{``0,``1})">
      <summary>
            Converts each element of the input collection and adds the result to the
            output collection succession in the same order.
            </summary>
      <param name="input">The input list.</param>
      <param name="output">The output list.</param>
      <param name="converter">The conversion function to apply to each element.</param>
      <typeparam name="TInput">The input type.</typeparam>
      <typeparam name="TOutput">The output type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ConvertAndCopyAll``2(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IList{``1},System.Converter{``0,``1})">
      <summary>
            Converts each element of the input collection and stores the result in the
            output list using the same index.  The output list must be at least as
            large as the input list.
            </summary>
      <param name="input">The input list.</param>
      <param name="output">The output list.</param>
      <param name="converter">The conversion function to apply to each element.</param>
      <typeparam name="TInput">The input type.</typeparam>
      <typeparam name="TOutput">The output type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ConvertInPlace``1(System.Collections.Generic.IList{``0},System.Converter{``0,``0})">
      <summary>
            Converts each element of the input collection and stores the result in place.
            </summary>
      <param name="list">The list to mutate.</param>
      <param name="converter">The conversion function to apply to each element.</param>
      <typeparam name="T">The item type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ElementsEqual``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0})">
      <summary>
            Returns true if the elements of both lists are equal.
            </summary>
      <param name="a">The first collection.</param>
      <param name="b">The second collection.</param>
      <returns>True if the elements are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ElementsEqual``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0},Gallio.Common.EqualityComparison{``0})">
      <summary>
            Returns true if the elements of both lists are equal.
            </summary>
      <param name="a">The first collection.</param>
      <param name="b">The second collection.</param>
      <param name="comparer">The comparison strategy to use.</param>
      <returns>True if the elements are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ElementsEqualOrderIndependent``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0})">
      <summary>
            Returns true if the elements of both lists are equal but possibly appear in a different order.
            Handles elements that appear multiple times and ensures that they appear the same
            number of times in each list.
            </summary>
      <param name="a">The first collection.</param>
      <param name="b">The second collection.</param>
      <returns>True if the elements are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.Exists``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
      <summary>
            Returns true if the input enumeration contains an element for which the predicate returns true.
            </summary>
      <param name="enumeration">The input enumeration.</param>
      <param name="predicate">The predicate.</param>
      <typeparam name="T">The element type.</typeparam>
      <returns>True if a matching element exists.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.Find``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
      <summary>
            Returns the first element of the input enumeration for which the specified
            predicate returns true.
            </summary>
      <param name="enumeration">The input enumeration.</param>
      <param name="predicate">The predicate.</param>
      <typeparam name="T">The element type.</typeparam>
      <returns>The first matching value or the default for the type if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
      <summary>
            Performs an action for each element in an enumeration.
            </summary>
      <param name="enumeration">The input enumeration.</param>
      <param name="action">The action to perform.</param>
      <typeparam name="T">The element type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.KeyValuePairsEqual``2(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``1})">
      <summary>
            Returns true if both dictionaries have equal key/value pairs.
            </summary>
      <param name="a">The first collection.</param>
      <param name="b">The second collection.</param>
      <returns>True if the elements are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ToArray``1(System.Collections.Generic.ICollection{``0})">
      <summary>
            Copies all of the elements of the input collection to an array.
            </summary>
      <param name="collection">The input collection.</param>
      <typeparam name="T">The element type.</typeparam>
      <returns>The output array.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.GenericCollectionUtils.ToArray``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Copies all of the elements of the input enumerable to an array.
            </summary>
      <param name="enumerable">The input enumerable.</param>
      <typeparam name="T">The element type.</typeparam>
      <returns>The output array.</returns>
    </member>
    <member name="T:Gallio.Common.Collections.HashSet`1">
      <summary>
            A hashtable-based set implementation.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.#ctor">
      <summary>
            Creates an empty set.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
      <summary>
            Creates an empty set using the specified comparer.
            </summary>
      <param name="comparer">The comparer, or null to use the default comparer.</param>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.Add(`0)">
      <summary>
                    Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.Clear">
      <summary>
                    Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.Contains(`0)">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.CopyTo(`0[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.HashSet`1.Count">
      <summary>
                    Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <returns>
                    The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.HashSet`1.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.HashSet`1.Remove(`0)">
      <summary>
                    Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="T:Gallio.Common.Collections.IMultiMap`2">
      <summary>
            A multi-map allows a list of values to be associated with a single key.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.IMultiMap`2.Add(`0,`1)">
      <summary>
            Adds a value to the list of those associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to associate.</param>
    </member>
    <member name="M:Gallio.Common.Collections.IMultiMap`2.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IList{`1}}})">
      <summary>
            Adds all of the values from the specified map.
            </summary>
      <param name="map">The map.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.IMultiMap`2.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
      <summary>
            Adds all of the values from the specified enumeration of key-value pairs.
            </summary>
      <param name="pairs">The key-value pairs.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pairs" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.IMultiMap`2.Contains(`0,`1)">
      <summary>
            Returns true if the map contains an entry with the specified key and value.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to find.</param>
      <returns>True if the map contains an entry with the specified key and value.</returns>
    </member>
    <member name="P:Gallio.Common.Collections.IMultiMap`2.Pairs">
      <summary>
            Gets the contents of the multi-map as an enumeration of pairs of keys and lists of values.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.IMultiMap`2.Remove(`0,`1)">
      <summary>
            Removes a value from the list of those associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to remove from the key.</param>
      <returns>True if the value was removed.</returns>
    </member>
    <member name="T:Gallio.Common.Collections.Key`1">
      <summary>
            A strongly-typed key to be used together with an associative array to help the
            compiler perform better type checking of the value associated with the key.
            </summary>
      <typeparam name="TValue">The type of value associated with the key.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.Key`1.#ctor(System.String)">
      <summary>
            Creates a new key.
            </summary>
      <param name="name">The unique name of the key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Collections.Key`1.Name">
      <summary>
            Gets the unique name of the key.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.Key`1.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="T:Gallio.Common.Collections.LazyCache`2">
      <summary>
            Lazily populates and caches values associated with a particular key.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.LazyCache`2.#ctor(Gallio.Common.Func{`0,`1})">
      <summary>
            Creates a cache with the specified populator function.
            </summary>
      <param name="populator">A function that provides a value given a key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="populator" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Collections.LazyCache`2.Item(`0)">
      <summary>
            Gets the value associated with the specified key.
            Populates it on demand if not already cached.
            </summary>
      <param name="key">The key.</param>
      <returns>The associated value.</returns>
    </member>
    <member name="T:Gallio.Common.Collections.MultiMap`2">
      <summary>
            A multi-map allows a list of values to be associated with a single key.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.#ctor">
      <summary>
            Creates an empty multi-map.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Add(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IList{`1}})">
      <summary>
            Adds all values in the pair to the specified key.
            </summary>
      <param name="item">The key and values pair.</param>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Add(`0,System.Collections.Generic.IList{`1})">
      <summary>
            Adds all values in the pair to the specified key.
            </summary>
      <param name="key">The key.</param>
      <param name="values">The values.</param>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Add(`0,`1)">
      <summary>
            Adds a value to the list of those associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to associate.</param>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IList{`1}}})">
      <summary>
            Adds all of the values from the specified map.
            </summary>
      <param name="map">The map.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
      <summary>
            Adds all of the values from the specified map.
            </summary>
      <param name="map">The map.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Clear">
      <summary>
                    Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Contains(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IList{`1}})">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Contains(`0,`1)">
      <summary>
            Returns true if the map contains an entry with the specified key and value.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to find.</param>
      <returns>True if the map contains an entry with the specified key and value.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.ContainsKey(`0)">
      <summary>
            Returns true if the map contains at least one value associated with
            the specified key.
            </summary>
      <param name="key">The key.</param>
      <returns>True if there is at least one value associated with the key.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IList{`1}}[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.MultiMap`2.Count">
      <summary>
            Gets the number of distinct keys in the map.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.MultiMap`2.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.MultiMap`2.Item(`0)">
      <summary>
            Gets or sets the list of values associated with the specified key.
            Returns an empty list if there are none.
            </summary>
      <param name="key">The key.</param>
      <returns>The list of values.</returns>
    </member>
    <member name="P:Gallio.Common.Collections.MultiMap`2.Keys">
      <summary>
            Gets the collection of keys in the multi-map.
            </summary>
    </member>
    <member name="P:Gallio.Common.Collections.MultiMap`2.Pairs">
      <summary>
            Gets the contents of the multi-map as an enumeration of pairs of keys and lists of values.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.ReadOnly(Gallio.Common.Collections.IMultiMap{`0,`1})">
      <summary>
            Obtains a read-only view of another multi-map.
            </summary>
      <param name="map">The multi-map.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Remove(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IList{`1}})">
      <summary>
            Removes all values in the pair from the specified key.
            </summary>
      <param name="item">The key and values pair.</param>
      <returns>True if at least one value was removed.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Remove(`0)">
      <summary>
            Removes all values associated with the specified key.
            </summary>
      <param name="key">The key.</param>
      <returns>True if the key existed and was removed.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.Remove(`0,`1)">
      <summary>
            Removes a value from the list of those associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to remove from the key.</param>
      <returns>True if the value was removed.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.MultiMap`2.TryGetValue(`0,System.Collections.Generic.IList{`1}@)">
      <summary>
                    Gets the value associated with the specified key.
                </summary>
      <param name="key">
                    The key whose value to get.
                </param>
      <param name="value">
                    When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.
                </param>
      <returns>true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.MultiMap`2.Values">
      <summary>
            Gets the collection of lists of values in the multi-map.
            </summary>
    </member>
    <member name="T:Gallio.Common.Collections.PropertyBag">
      <summary>
            A property bag associates keys with values where each key may have one or more associated value.
            All keys and values must be non-null strings.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.#ctor">
      <summary>
            Creates an empty property bag.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Add(System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IList{System.String}})">
      <summary>
                    Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Add(System.String,System.Collections.Generic.IList{System.String})">
      <summary>
                    Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The object to use as the key of the element to add.
                </param>
      <param name="value">
                    The object to use as the value of the element to add.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.ArgumentException">
                    An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Add(System.String,System.String)">
      <summary>
            Adds a value to the list of those associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to associate.</param>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IList{System.String}}})">
      <summary>
            Adds all of the values from the specified map.
            </summary>
      <param name="map">The map.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Adds all of the values from the specified map.
            </summary>
      <param name="map">The map.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.AsReadOnly">
      <summary>
            Gets a read-only view of this property set.
            </summary>
      <returns>A read-only view.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Clear">
      <summary>
                    Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Contains(System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IList{System.String}})">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Contains(System.String,System.String)">
      <summary>
            Returns true if the map contains an entry with the specified key and value.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to find.</param>
      <returns>True if the map contains an entry with the specified key and value.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.ContainsKey(System.String)">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key.
                </summary>
      <param name="key">
                    The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </param>
      <returns>true if the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Copy">
      <summary>
            Creates a copy of this property bag.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IList{System.String}}[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.PropertyBag.Count">
      <summary>
                    Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <returns>
                    The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Equals(Gallio.Common.Collections.PropertyBag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.GetValue(System.String)">
      <summary>
            Gets the first value associated with a key.
            </summary>
      <param name="key">The key.</param>
      <returns>The first associated value, or null if none.</returns>
    </member>
    <member name="P:Gallio.Common.Collections.PropertyBag.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.PropertyBag.Item(System.String)">
      <summary>
                    Gets or sets the element with the specified key.
                </summary>
      <param name="key">
                    The key of the element to get or set.
                </param>
      <returns>
                    The element with the specified key.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">
                    The property is retrieved and <paramref name="key" /> is not found.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The property is set and the <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.PropertyBag.Keys">
      <summary>
                    Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.PropertyBag.Pairs">
      <summary>
            Gets the contents of the multi-map as an enumeration of pairs of keys and lists of values.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.ProvideXmlSchema(System.Xml.Schema.XmlSchemaSet)">
      <summary>
            Provides the Xml schema for this element.
            </summary>
      <param name="schemas">The schema set.</param>
      <returns>The schema type of the element.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Remove(System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IList{System.String}})">
      <summary>
                    Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Remove(System.String)">
      <summary>
                    Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The key of the element to remove.
                </param>
      <returns>true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key" /> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.Remove(System.String,System.String)">
      <summary>
            Removes a value from the list of those associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to remove from the key.</param>
      <returns>True if the value was removed.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.SetValue(System.String,System.String)">
      <summary>
            Sets the value associated with a key.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The new value, or null to remove the existing values.</param>
    </member>
    <member name="M:Gallio.Common.Collections.PropertyBag.TryGetValue(System.String,System.Collections.Generic.IList{System.String}@)">
      <summary>
                    Gets the value associated with the specified key.
                </summary>
      <param name="key">
                    The key whose value to get.
                </param>
      <param name="value">
                    When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.
                </param>
      <returns>true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.PropertyBag.Values">
      <summary>
                    Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Collections.PropertySet">
      <summary>
            A property set associates keys with values where each key may have exactly one associated value.
            All keys and values must be non-null strings.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.#ctor">
      <summary>
            Creates an empty property set.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Add(System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
                    Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Add(System.String,System.String)">
      <summary>
                    Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The object to use as the key of the element to add.
                </param>
      <param name="value">
                    The object to use as the value of the element to add.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.ArgumentException">
                    An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.AddAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
      <summary>
            Adds all elements of another collection to this dictionary.
            </summary>
      <param name="collection">The collection to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="collection" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.AsReadOnly">
      <summary>
            Gets a read-only view of this property set.
            </summary>
      <returns>A read-only view.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Clear">
      <summary>
                    Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Contains(System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.ContainsKey(System.String)">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key.
                </summary>
      <param name="key">
                    The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </param>
      <returns>true if the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Copy">
      <summary>
            Creates a full copy of this property set.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.String}[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.PropertySet.Count">
      <summary>
                    Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <returns>
                    The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Equals(Gallio.Common.Collections.PropertySet)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.GetValue(System.String)">
      <summary>
            Gets the value associated with a key, or null if absent.
            </summary>
      <param name="key">The key.</param>
      <returns>The associated value, or null if none.</returns>
    </member>
    <member name="P:Gallio.Common.Collections.PropertySet.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.PropertySet.Item(System.String)">
      <summary>
                    Gets or sets the element with the specified key.
                </summary>
      <param name="key">
                    The key of the element to get or set.
                </param>
      <returns>
                    The element with the specified key.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">
                    The property is retrieved and <paramref name="key" /> is not found.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The property is set and the <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.PropertySet.Keys">
      <summary>
                    Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.ProvideXmlSchema(System.Xml.Schema.XmlSchemaSet)">
      <summary>
            Provides the Xml schema for this element.
            </summary>
      <param name="schemas">The schema set.</param>
      <returns>The schema type of the element.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Remove(System.Collections.Generic.KeyValuePair{System.String,System.String})">
      <summary>
                    Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.Remove(System.String)">
      <summary>
                    Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The key of the element to remove.
                </param>
      <returns>true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key" /> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.SetValue(System.String,System.String)">
      <summary>
            Sets the value associated with a key, removes an existing value if null.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The new value, or null to remove the existing value.</param>
    </member>
    <member name="M:Gallio.Common.Collections.PropertySet.TryGetValue(System.String,System.String@)">
      <summary>
                    Gets the value associated with the specified key.
                </summary>
      <param name="key">
                    The key whose value to get.
                </param>
      <param name="value">
                    When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.
                </param>
      <returns>true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.PropertySet.Values">
      <summary>
                    Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <returns>
                    An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Collections.ReadOnlyDictionary`2">
      <summary>
            A read-only dictionary wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1})">
      <summary>
            Creates a read-only dictionary wrapper for another dictionary.
            </summary>
      <param name="inner">The dictionary to wrap.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="inner" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
                    Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.Add(`0,`1)">
      <summary>
                    Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The object to use as the key of the element to add.
                </param>
      <param name="value">
                    The object to use as the value of the element to add.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.ArgumentException">
                    An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.Clear">
      <summary>
                    Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
                </summary>
      <param name="item">
                    The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.ContainsKey(`0)">
      <summary>
                    Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key.
                </summary>
      <param name="key">
                    The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </param>
      <returns>true if the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
      <summary>
                    Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
                </summary>
      <param name="array">
                    The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.
                </param>
      <param name="arrayIndex">
                    The zero-based index in <paramref name="array" /> at which copying begins.
                </param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than 0.
                </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is multidimensional.
                
                    -or-
                <paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.
                
                    -or-
                
                    The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.
                
                    -or-
                
                    Type <paramref name="T" /> cannot be cast automatically to the type of the destination <paramref name="array" />.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.ReadOnlyDictionary`2.Count">
      <summary>
                    Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <returns>
                    The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.GetEnumerator">
      <summary>
                    Returns an enumerator that iterates through the collection.
                </summary>
      <returns>
                    A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.ReadOnlyDictionary`2.IsReadOnly">
      <summary>
                    Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </summary>
      <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Collections.ReadOnlyDictionary`2.Item(`0)"></member>
    <member name="P:Gallio.Common.Collections.ReadOnlyDictionary`2.Keys"></member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
      <summary>
                    Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </summary>
      <param name="item">
                    The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.
                </param>
      <returns>true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
                </returns>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.Remove(`0)">
      <summary>
                    Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </summary>
      <param name="key">
                    The key of the element to remove.
                </param>
      <returns>true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key" /> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2" />.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
      <exception cref="T:System.NotSupportedException">
                    The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.
                </exception>
    </member>
    <member name="M:Gallio.Common.Collections.ReadOnlyDictionary`2.TryGetValue(`0,`1@)">
      <summary>
                    Gets the value associated with the specified key.
                </summary>
      <param name="key">
                    The key whose value to get.
                </param>
      <param name="value">
                    When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.
                </param>
      <returns>true if the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, false.
                </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="key" /> is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.ReadOnlyDictionary`2.Values"></member>
    <member name="T:Gallio.Common.Collections.ReferentialEqualityComparer`1">
      <summary>
            An equality comparer that compares values by reference.
            </summary>
      <typeparam name="T">The type of values to compare, must be reference types.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.ReferentialEqualityComparer`1.Equals(`0,`0)">
      <summary>
                    Determines whether the specified objects are equal.
                </summary>
      <param name="x">
                    The first object of type <paramref name="T" /> to compare.
                </param>
      <param name="y">
                    The second object of type <paramref name="T" /> to compare.
                </param>
      <returns>true if the specified objects are equal; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Collections.ReferentialEqualityComparer`1.GetHashCode(`0)">
      <summary>
                    Returns a hash code for the specified object.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> for which a hash code is to be returned.
                </param>
      <returns>
                    A hash code for the specified object.
                </returns>
      <exception cref="T:System.ArgumentNullException">
                    The type of <paramref name="obj" /> is a reference type and <paramref name="obj" /> is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Collections.ReferentialEqualityComparer`1.Instance">
      <summary>
            Gets the singleton instance of the comparer.
            </summary>
    </member>
    <member name="T:Gallio.Common.Collections.TreeUtils">
      <summary>
            Provides functions for manipulating ad-hoc trees.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.TreeUtils.GetPreOrderTraversal``1(``0,Gallio.Common.Collections.TreeUtils.ChildEnumerator{``0})">
      <summary>
            Gets an enumeration of a tree data structure in pre-order traversal.
            </summary>
      <param name="rootNode">The root node of the tree.</param>
      <param name="enumerator">A function that yields an enumeration of the children
            of a node in the tree.</param>
      <typeparam name="T">The type of node in the tree.</typeparam>
      <returns>The pre-order traversal enumeration.</returns>
    </member>
    <member name="T:Gallio.Common.Collections.TreeUtils.ChildEnumerator`1">
      <summary>
            Enumerates child nodes in a tree.
            </summary>
      <param name="node">The node.</param>
      <returns>The node's children.</returns>
    </member>
    <member name="T:Gallio.Common.Collections.UserDataCollection">
      <summary>
            A user data collection stores arbitrary key/value pairs that may be associated
            with other objects in the system.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.#ctor">
      <summary>
            Creates an empty collection.
            </summary>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.Copy">
      <summary>
            Creates a copy of the collection.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.GetValue``1(Gallio.Common.Collections.Key{``0})">
      <summary>
            Gets a value from the collection.
            </summary>
      <param name="key">The key.</param>
      <typeparam name="T">The value type.</typeparam>
      <returns>The associated value.</returns>
      <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if <paramref name="key" /> was not found.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.GetValueOrDefault``1(Gallio.Common.Collections.Key{``0},``0)">
      <summary>
            Gets a value from the collection or a default value if none found.
            </summary>
      <param name="key">The key.</param>
      <param name="defaultValue">The default value.</param>
      <typeparam name="T">The value type.</typeparam>
      <returns>The associated value, or the default value.</returns>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.HasValue``1(Gallio.Common.Collections.Key{``0})">
      <summary>
            Determines whether a key has an associated value in the collection.
            </summary>
      <param name="key">The key.</param>
      <typeparam name="T">The value type.</typeparam>
      <returns>True if the key has an associated value.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.RemoveValue``1(Gallio.Common.Collections.Key{``0})">
      <summary>
            Removes a value from the collection.
            </summary>
      <param name="key">The key.</param>
      <typeparam name="T">The value type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.SetValue``1(Gallio.Common.Collections.Key{``0},``0)">
      <summary>
            Sets a value in the collection.
            </summary>
      <param name="key">The key.</param>
      <param name="value">The value to set.</param>
      <typeparam name="T">The value type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Collections.UserDataCollection.TryGetValue``1(Gallio.Common.Collections.Key{``0},``0@)">
      <summary>
            Tries to get a value from the collection.
            </summary>
      <param name="key">The key.</param>
      <param name="value">Set to the value, or <c>default(T)</c> if none present.</param>
      <typeparam name="T">The value type.</typeparam>
      <returns>True if a value was obtained.</returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.ConfigureProcessStartInfoEventArgs">
      <summary>
            An event dispatched by the <see cref="T:Gallio.Common.Concurrency.ProcessTask" /> when its
            <see cref="P:Gallio.Common.Concurrency.ConfigureProcessStartInfoEventArgs.ProcessStartInfo" /> is being configured to enable customization.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ConfigureProcessStartInfoEventArgs.#ctor(System.Diagnostics.ProcessStartInfo)">
      <summary>
            Creates event arguments.
            </summary>
      <param name="processStartInfo">The process start info being configured.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="processStartInfo" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Concurrency.ConfigureProcessStartInfoEventArgs.ProcessStartInfo">
      <summary>
            Gets the process start info being configured.
            </summary>
    </member>
    <member name="T:Gallio.Common.Concurrency.DegreeOfParallelismProvider">
      <summary>
            A function that returns the maximum number of threads that a work scheduler 
            may use to perform work.  The value may change over time and cause the
            scheduler to adapt to changing degrees of parallelism.
            </summary>
      <returns>The degree of parallelism which must be at least 1.</returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.IProcess">
      <summary>
            Wrapper for <see cref="T:System.Diagnostics.Process" /> to allow testing.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.IProcess.HasExited">
      <summary>
            Gets a value indicating whether the associated process has been terminated.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.IProcess.Id">
      <summary>
            Gets the unique identifier for the associated process.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcess.IsModuleLoaded(System.String)">
      <summary>
            Checks whether a module with the specified file name is
            loaded in the process.
            </summary>
      <param name="fileName">The file name.</param>
      <returns>true if the module is loaded; otherwise, false.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcess.Kill">
      <summary>
            Immediately stops the associated process.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcess.Refresh">
      <summary>
            Discards any information about the associated process
            that has been cached inside the process object.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.IProcess.StartInfo">
      <summary>
            Gets or sets the properties to passed to the <see cref="M:System.Diagnostics.Process.Start" />
            method of the underlying <see cref="T:System.Diagnostics.Process" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcess.WaitForInputIdle">
      <summary>
            Causes the <see cref="T:Gallio.Common.Concurrency.IProcess" /> object to wait indefinitely for
            the associated process to enter an idle state. This overload applies
            only to processes with a user interface and, therefore, a message loop.
            </summary>
      <returns>true if the associated process has reached an idle state.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcess.WaitForInputIdle(System.Int32)">
      <summary>
            Causes the <see cref="T:Gallio.Common.Concurrency.IProcess" /> object to wait the specified number
            of milliseconds for the associated process to enter an idle state. This
            overload applies only to processes with a user interface and, therefore,
            a message loop.
            </summary>
      <param name="milliseconds">
            A value of 1 to <see cref="F:System.Int32.MaxValue" /> that specifies the amount of
            time, in milliseconds, to wait for the associated process to become idle.
            A value of 0 specifies an immediate return, and a value of -1 specifies
            an infinite wait.
            </param>
      <returns>
            true if the associated process has reached an idle state; otherwise, false.
            </returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.IProcessCreator">
      <summary>
            Wraps the static process creation methods on <see cref="T:System.Diagnostics.Process" /> to allow testing.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcessCreator.Start(System.Diagnostics.ProcessStartInfo)">
      <summary>
            Starts the process and associates it with a new <see cref="T:Gallio.Common.Concurrency.IProcess" /> object.
            </summary>
      <param name="startInfo">The process start info.</param>
      <returns>The new process.</returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.IProcessFinder">
      <summary>
            Wraps the static process query methods on <see cref="T:System.Diagnostics.Process" /> to allow testing.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.IProcessFinder.GetProcessesByName(System.String)">
      <summary>
            Creates an array of <see cref="T:Gallio.Common.Concurrency.IProcess" /> objects for all
            processes on the local compuer that share the specified name.
            </summary>
      <param name="processName">The friendly name of he process.</param>
      <returns>An array of <see cref="T:Gallio.Common.Concurrency.IProcess" /> objects.</returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.LockBox`1">
      <summary>
            A lock box object provides protected read / write access to a shared object
            that may be accessed concurrently by multiple threads.
            </summary>
      <typeparam name="T">The type of object inside the lock box.</typeparam>
    </member>
    <member name="M:Gallio.Common.Concurrency.LockBox`1.#ctor(`0)">
      <summary>
            Creates a lock box for the specified object.
            </summary>
      <param name="obj">The object to protect.</param>
    </member>
    <member name="M:Gallio.Common.Concurrency.LockBox`1.Read(Gallio.Common.Concurrency.ReadAction{`0})">
      <summary>
            Acquires a read lock and invokes the action with the object inside the lock box.
            </summary>
      <param name="action">The action to invoke.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.LockBox`1.Read``1(Gallio.Common.Concurrency.ReadFunc{`0,``0})">
      <summary>
            Acquires a read lock and invokes the function with the object inside the lock box.
            </summary>
      <param name="func">The action to invoke.</param>
      <typeparam name="TResult">The function result type.</typeparam>
      <returns>The value returned by the function.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="func" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.LockBox`1.Write(Gallio.Common.Concurrency.WriteAction{`0})">
      <summary>
            Acquires a write lock and invokes the action with the object inside the lock box.
            </summary>
      <param name="action">The action to invoke.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.LockBox`1.Write``1(Gallio.Common.Concurrency.WriteFunc{`0,``0})">
      <summary>
            Acquires a write lock and invokes the function with the object inside the lock box.
            </summary>
      <param name="func">The action to invoke.</param>
      <typeparam name="TResult">The function result type.</typeparam>
      <returns>The value returned by the function.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="func" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.ProcessCreator">
      <summary>
            Default implementation of <see cref="T:Gallio.Common.Concurrency.IProcessCreator" /> using <see cref="T:System.Diagnostics.Process" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessCreator.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Concurrency.ProcessCreator" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessCreator.Start(System.Diagnostics.ProcessStartInfo)">
      <summary>
            Starts the process and associates it with a new <see cref="T:Gallio.Common.Concurrency.IProcess" /> object.
            </summary>
      <param name="startInfo">The process start info.</param>
      <returns>The new process.</returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.ProcessFinder">
      <summary>
            Default implementation of <see cref="T:Gallio.Common.Concurrency.IProcessFinder" /> using <see cref="T:System.Diagnostics.Process" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessFinder.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Concurrency.ProcessFinder" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessFinder.GetProcessesByName(System.String)">
      <summary>
            Creates an array of <see cref="T:Gallio.Common.Concurrency.IProcess" /> objects for all
            processes on the local compuer that share the specified name.
            </summary>
      <param name="processName">The friendly name of he process.</param>
      <returns>An array of <see cref="T:Gallio.Common.Concurrency.IProcess" /> objects.</returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.ProcessTask">
      <summary>
            A process task provides support for launching external processes
            and collecting their output.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessTask.#ctor(System.String,System.String,System.String)">
      <summary>
            Creates a process task.
            </summary>
      <param name="executablePath">The path of the executable executable.</param>
      <param name="arguments">The arguments for the executable.</param>
      <param name="workingDirectory">The working directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="executablePath" />,
            <paramref name="arguments" /> or <paramref name="workingDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessTask.AbortImpl">
      <summary>
            Aborts the task.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.Arguments">
      <summary>
            Gets the arguments.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.CaptureConsoleError">
      <summary>
            Gets or sets whether console error stream of the process should be captured
            and made available via the <see cref="P:Gallio.Common.Concurrency.ProcessTask.ConsoleError" /> property.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.CaptureConsoleOutput">
      <summary>
            Gets or sets whether console output stream of the process should be captured
            and made available via the <see cref="P:Gallio.Common.Concurrency.ProcessTask.ConsoleOutput" /> property.
            </summary>
    </member>
    <member name="E:Gallio.Common.Concurrency.ProcessTask.ConfigureProcessStartInfo">
      <summary>
            The event fired to configure <see cref="T:System.Diagnostics.ProcessStartInfo" /> just before the process is started.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.ConsoleError">
      <summary>
            Gets the captured contents of the console error stream written by the process.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the process has not been started
            or if <see cref="P:Gallio.Common.Concurrency.ProcessTask.CaptureConsoleError" /> is <c>null</c>.</exception>
    </member>
    <member name="E:Gallio.Common.Concurrency.ProcessTask.ConsoleErrorDataReceived">
      <summary>
            The event fired when each line of new output is received on the console error stream.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.ConsoleOutput">
      <summary>
            Gets the captured contents of the console output stream written by the process.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the process has not been started
            or if <see cref="P:Gallio.Common.Concurrency.ProcessTask.CaptureConsoleOutput" /> is <c>null</c>.</exception>
    </member>
    <member name="E:Gallio.Common.Concurrency.ProcessTask.ConsoleOutputDataReceived">
      <summary>
            The event fired when each line of new output is received on the console output stream.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.CreateWindow">
      <summary>
            Gets or sets whether to create a window for the command prompt.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.ExecutablePath">
      <summary>
            Gets the executable path.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.ExitCode">
      <summary>
            Gets the exit code of the process, or -1 if the process did not run or has not exited.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.ExitCodeDescription">
      <summary>
            Gets a description of the exit code, if available, or null otherwise.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessTask.JoinImpl(System.Nullable{System.TimeSpan})">
      <summary>
            Waits for the task to terminate.
            </summary>
      <param name="timeout">The timeout, or null to wait indefinitely.</param>
      <returns>True if the task is not running as of the time this method exits,
            false if a timeout occurred while waiting.</returns>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.Process">
      <summary>
            Gets the <see cref="P:Gallio.Common.Concurrency.ProcessTask.Process" /> that was started or null if the
            process has not been started yet.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessTask.SetEnvironmentVariable(System.String,System.String)">
      <summary>
            Sets an environment variable to be passed to the process when started.
            </summary>
      <param name="name">The variable name.</param>
      <param name="value">The variable value, or null to remove the environment variable
            so it will not be inherited by the child process.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if the process has already been started.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessTask.StartImpl">
      <summary>
            Starts the task.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessTask.StartProcess(System.Diagnostics.ProcessStartInfo)">
      <summary>
            Starts a <see cref="P:Gallio.Common.Concurrency.ProcessTask.Process" />.
            </summary>
      <param name="startInfo">The <see cref="T:System.Diagnostics.ProcessStartInfo" /> that has been started.</param>
      <returns>The process.</returns>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.UseShellExecute">
      <summary>
            Gets or sets whether to execute the command with the Windows shell.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessTask.WorkingDirectory">
      <summary>
            Gets the working directory path.
            </summary>
    </member>
    <member name="T:Gallio.Common.Concurrency.ProcessWrapper">
      <summary>
            Default implementation of <see cref="T:Gallio.Common.Concurrency.IProcess" /> using <see cref="T:System.Diagnostics.Process" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.#ctor(System.Diagnostics.Process)">
      <summary>
            Creates a new process wrapper.
            </summary>
      <param name="process">A process.</param>
      <exception cref="T:System.ArgumentNullException">If <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.Dispose(System.Boolean)">
      <summary>
            Releases the resources used by the <see cref="T:Gallio.Common.Concurrency.ProcessWrapper" />.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessWrapper.HasExited">
      <summary>
            Gets a value indicating whether the associated process has been terminated.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessWrapper.Id">
      <summary>
            Gets the unique identifier for the associated process.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.IsModuleLoaded(System.String)">
      <summary>
            Checks whether a module with the specified file name is
            loaded in the process.
            </summary>
      <param name="fileName">The file name.</param>
      <returns>true if the module is loaded; otherwise, false.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.Kill">
      <summary>
            Immediately stops the associated process.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.Refresh">
      <summary>
            Discards any information about the associated process
            that has been cached inside the process object.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ProcessWrapper.StartInfo">
      <summary>
            Gets or sets the properties to passed to the <see cref="M:System.Diagnostics.Process.Start" />
            method of the underlying <see cref="T:System.Diagnostics.Process" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.WaitForInputIdle">
      <summary>
            Causes the <see cref="T:Gallio.Common.Concurrency.IProcess" /> object to wait indefinitely for
            the associated process to enter an idle state. This overload applies
            only to processes with a user interface and, therefore, a message loop.
            </summary>
      <returns>true if the associated process has reached an idle state.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.ProcessWrapper.WaitForInputIdle(System.Int32)">
      <summary>
            Causes the <see cref="T:Gallio.Common.Concurrency.IProcess" /> object to wait the specified number
            of milliseconds for the associated process to enter an idle state. This
            overload applies only to processes with a user interface and, therefore,
            a message loop.
            </summary>
      <param name="milliseconds">
            A value of 1 to <see cref="F:System.Int32.MaxValue" /> that specifies the amount of
            time, in milliseconds, to wait for the associated process to become idle.
            A value of 0 specifies an immediate return, and a value of -1 specifies
            an infinite wait.
            </param>
      <returns>
            true if the associated process has reached an idle state; otherwise, false.
            </returns>
    </member>
    <member name="T:Gallio.Common.Concurrency.ReadAction`1">
      <summary>
            An action that reads the contents of a protected object.  It should not modify the object in any way.
            </summary>
      <param name="obj">The object.</param>
      <typeparam name="T">The type of object.</typeparam>
    </member>
    <member name="T:Gallio.Common.Concurrency.ReadFunc`2">
      <summary>
            A function that reads the contents of a protected object and produces some result.  It should not modify the object in any way.
            </summary>
      <param name="obj">The object.</param>
      <typeparam name="T">The type of object.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Concurrency.Sync">
      <summary>
            Provides helpers for cross-thread synchronization.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Sync.Invoke(System.ComponentModel.ISynchronizeInvoke,Gallio.Common.Action)">
      <summary>
            Synchronizes an action.
            </summary>
      <param name="invoker">The invoker, such as a WinForms control.</param>
      <param name="action">The action.</param>
      <exception cref="T:System.Exception">The exception thrown by the action.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.Sync.Invoke``1(System.ComponentModel.ISynchronizeInvoke,Gallio.Common.Func{``0})">
      <summary>
            Synchronizes a function that returns a value.
            </summary>
      <param name="invoker">The invoker, such as a WinForms control.</param>
      <param name="func">The function.</param>
      <typeparam name="T">The function return type.</typeparam>
      <returns>The value returned by the function.</returns>
      <exception cref="T:System.Exception">The exception thrown by the function.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.Task">
      <summary>
            A task represents a concurrently executing operation.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.#ctor(System.String)">
      <summary>
            Creates a task.
            </summary>
      <param name="name">The name of the task.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.Abort">
      <summary>
            Asynchronously aborts the task.
            </summary>
    </member>
    <member name="E:Gallio.Common.Concurrency.Task.Aborted">
      <summary>
            Adds or removes an event handler that is signaled when the task is aborted.
            If a handler is being added and the task has already aborted, it is immediately invoked.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.AbortImpl">
      <summary>
            Aborts the task.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.Task.IsAborted">
      <summary>
            Returns true if the task has been aborted.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.Task.IsPending">
      <summary>
            Returns true if the task has not been started or aborted yet.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.Task.IsRunning">
      <summary>
            Returns true if the task is running.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.Task.IsTerminated">
      <summary>
            Returns true if the task ran and was terminated.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.Join(System.Nullable{System.TimeSpan})">
      <summary>
            Waits for the task to terminate.
            </summary>
      <param name="timeout">The maximum amount of time to wait for completion, or null to wait indefinitely.</param>
      <returns>True if the task is not running as of the time this method exits,
            false if a timeout occurred while waiting.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" />
            represents a negative time span.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.JoinImpl(System.Nullable{System.TimeSpan})">
      <summary>
            Waits for the task to terminate.
            </summary>
      <param name="timeout">The timeout, or null to wait indefinitely.</param>
      <returns>True if the task is not running as of the time this method exits,
            false if a timeout occurred while waiting.</returns>
    </member>
    <member name="P:Gallio.Common.Concurrency.Task.Name">
      <summary>
            Gets the name of the task.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.NotifyTerminated(Gallio.Common.Concurrency.TaskResult)">
      <summary>
            Dispatches notification that the task has terminated and provides its result.
            </summary>
      <param name="result">The task result.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="result" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not currently running.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.OnAborted">
      <summary>
            Notifies the <see cref="E:Gallio.Common.Concurrency.Task.Aborted" /> event handlers.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.OnStarted">
      <summary>
            Notifies the <see cref="E:Gallio.Common.Concurrency.Task.Started" /> event handlers.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.OnTerminated">
      <summary>
            Notifies the <see cref="E:Gallio.Common.Concurrency.Task.Terminated" /> event handlers.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.Task.Result">
      <summary>
            Gets the task result, or null if the task has not terminated or was aborted before starting.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.Run(System.Nullable{System.TimeSpan})">
      <summary>
            Starts the task and waits for it to complete until the timeout expires.
            If the timeout expires, aborts the task and returns <c>false</c>.
            </summary>
      <param name="timeout">The maximum amount of time to wait for completion, or null to wait indefinitely.</param>
      <returns>True if the task ran to completion within the specified time span,
            false if the task was aborted.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" />
            represents a negative time span.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.Start">
      <summary>
            Starts running the task.
            </summary>
    </member>
    <member name="E:Gallio.Common.Concurrency.Task.Started">
      <summary>
            Adds or removes an event handler that is signaled when the task is started.
            If a handler is being added and the task has already started, it is immediately invoked.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.Task.StartImpl">
      <summary>
            Starts the task.
            </summary>
    </member>
    <member name="E:Gallio.Common.Concurrency.Task.Terminated">
      <summary>
            Adds or removes an event handler that is signaled when the task is terminated.
            If a handler is being added and the task has already terminated, it is immediately invoked.
            </summary>
    </member>
    <member name="T:Gallio.Common.Concurrency.TaskContainer">
      <summary>
            A <see cref="T:Gallio.Common.Concurrency.TaskContainer" /> manages the lifecycle of any number of <see cref="T:Gallio.Common.Concurrency.Task" />s
            and monitors their run-time behavior.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskContainer.#ctor">
      <summary>
            Creates an empty task container.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskContainer.AbortAll">
      <summary>
            Asynchronously aborts all of the tasks currently running within the container.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskContainer.GetActiveTasks">
      <summary>
            Gets the list of all tasks that are currently running.
            </summary>
      <returns>The list of running tasks.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskContainer.JoinAll(System.Nullable{System.TimeSpan})">
      <summary>
            Waits for all of currently running tasks to terminate.
            </summary>
      <param name="timeout">The maximum amount of time to wait for completion, or null to wait indefinitely.</param>
      <returns>True if no tasks are running as of the time this method exits,
            false if a timeout occurred while waiting.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" />
            represents a negative time span.</exception>
    </member>
    <member name="E:Gallio.Common.Concurrency.TaskContainer.TaskAborted">
      <summary>
            Adds or removes an event handler that is signaled when any watched task is aborted.
            </summary>
    </member>
    <member name="E:Gallio.Common.Concurrency.TaskContainer.TaskStarted">
      <summary>
            Adds or removes an event handler that is signaled when any watched task is started.
            </summary>
    </member>
    <member name="E:Gallio.Common.Concurrency.TaskContainer.TaskTerminated">
      <summary>
            Adds or removes an event handler that is signaled when any watched task is terminated.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskContainer.Watch(Gallio.Common.Concurrency.Task)">
      <summary>
            Adds a new task for this container to watch.
            </summary>
      <param name="task">The task to monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="task" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.TaskEventArgs">
      <summary>
            A task-related event.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskEventArgs.#ctor(Gallio.Common.Concurrency.Task)">
      <summary>
            Creates event arguments for a task-related event.
            </summary>
      <param name="task">The task that the event is about.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="task" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Concurrency.TaskEventArgs.Task">
      <summary>
            Gets the task that the event is about.
            </summary>
    </member>
    <member name="T:Gallio.Common.Concurrency.TaskResult">
      <summary>
            Holds the value or exception produced by a task.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.TaskResult.Exception">
      <summary>
            Gets the exception that was thrown by the task.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Common.Concurrency.TaskResult.HasValue" /> is true.</exception>
    </member>
    <member name="P:Gallio.Common.Concurrency.TaskResult.HasValue">
      <summary>
            Returns true if the task ran to completion and returned a value,
            or false if an exception was thrown.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskResult.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Concurrency.TaskResult.Value">
      <summary>
            Gets the value that was returned by the task.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Common.Concurrency.TaskResult.HasValue" /> is false.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.TaskResult`1">
      <summary>
            Holds the value or exception produced by a task.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskResult`1.CreateFromException(System.Exception)">
      <summary>
            Creates a result object containing the exception thrown by the task.
            </summary>
      <param name="exception">The exception.</param>
      <returns>The new task result.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.TaskResult`1.CreateFromValue(`0)">
      <summary>
            Creates a result object containing the value returned by the task.
            </summary>
      <param name="value">The value.</param>
      <returns>The new task result.</returns>
    </member>
    <member name="P:Gallio.Common.Concurrency.TaskResult`1.Value">
      <summary>
            Gets the value that was returned by the task.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Common.Concurrency.TaskResult.HasValue" /> is false.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.ThreadAbortScope">
      <summary>
            A <see cref="T:Gallio.Common.Concurrency.ThreadAbortScope" /> executes a block of code inside a special
            scope that is designed to issue and safely handle <see cref="M:System.Threading.Thread.Abort(System.Object)" />
            on demand.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadAbortScope.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Concurrency.ThreadAbortScope" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadAbortScope.Abort">
      <summary>
            Aborts the currently running action and prevents any further actions from running
            inside of this scope.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadAbortScope.Protect">
      <summary>
            Enters a protected context wherein it cannot receive a thread abort from this
            <see cref="T:Gallio.Common.Concurrency.ThreadAbortScope" />.
            </summary>
      <returns>An object that when disposed ends the protected block, possibly null if there was no protection necessary.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadAbortScope.Run(Gallio.Common.Action)">
      <summary>
            Runs an action inside of the scope.
            </summary>
      <param name="action">The action to run.</param>
      <returns>The <see cref="T:System.Threading.ThreadAbortException" /> that was caught if the action
            was aborted, or null if the action completed normally.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if an action is already running in this scope.</exception>
      <exception cref="T:System.Exception">Any other exception thrown by <paramref name="action" /> itself.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.ThreadTask">
      <summary>
            An implementation of <see cref="T:Gallio.Common.Concurrency.Task" /> based on a locally running thread.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.#ctor(System.String,Gallio.Common.Action)">
      <summary>
            Creates a task that will execute code within a new locally running thread.
            When the task terminates successfully, its result will contain the value <c>null</c>.
            </summary>
      <param name="name">The name of the task.</param>
      <param name="action">The action to perform within the thread.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> 
            or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.#ctor(System.String,Gallio.Common.Func{System.Object})">
      <summary>
            Creates a task that will execute code within a new locally running thread.
            When the task terminates successfully, its result will contain the value
            returned by <paramref name="func" />.
            </summary>
      <param name="name">The name of the task.</param>
      <param name="func">The function to perform within the thread.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> 
            or <paramref name="func" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.AbortImpl">
      <summary>
            Aborts the task.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.AfterTask">
      <summary>
            Performs an action within the thread after the task's main action runs.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ThreadTask.ApartmentState">
      <summary>
            Gets or sets the desired <see cref="P:Gallio.Common.Concurrency.ThreadTask.ApartmentState" /> to use for
            the thread when it is started.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if this method is called
            after the thread has started.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.BeforeTask">
      <summary>
            Performs an action within the thread before the task's main action runs.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.JoinImpl(System.Nullable{System.TimeSpan})">
      <summary>
            Waits for the task to terminate.
            </summary>
      <param name="timeout">The timeout, or null to wait indefinitely.</param>
      <returns>True if the task is not running as of the time this method exits,
            false if a timeout occurred while waiting.</returns>
    </member>
    <member name="M:Gallio.Common.Concurrency.ThreadTask.StartImpl">
      <summary>
            Starts the task.
            </summary>
    </member>
    <member name="P:Gallio.Common.Concurrency.ThreadTask.Thread">
      <summary>
            Gets the thread on which the task is running, or null if the
            task is not running.
            </summary>
    </member>
    <member name="T:Gallio.Common.Concurrency.WorkScheduler">
      <summary>
            Schedules actions to be run in parallel up to a specified (variable)
            maximum number of threads.
            </summary>
    </member>
    <member name="M:Gallio.Common.Concurrency.WorkScheduler.#ctor(Gallio.Common.Concurrency.DegreeOfParallelismProvider)">
      <summary>
            Creates a work scheduler.
            </summary>
      <param name="degreeOfParallelismProvider">A function that determines
            the current degree of parallelism which may change over time.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="degreeOfParallelismProvider" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Common.Concurrency.WorkScheduler.Run(System.Collections.Generic.IEnumerable{Gallio.Common.Action})">
      <summary>
            Runs a set of actions in parallel up to the current degree of parallelism.
            </summary>
      <param name="actions">The actions to run.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actions" /> is null
            or contains null.</exception>
    </member>
    <member name="T:Gallio.Common.Concurrency.WriteAction`1">
      <summary>
            An action that reads or writes the contents of a protected object.
            </summary>
      <param name="obj">The object.</param>
      <typeparam name="T">The type of object.</typeparam>
    </member>
    <member name="T:Gallio.Common.Concurrency.WriteFunc`2">
      <summary>
            A function that reads or writes the contents of a protected object and produces some result.
            </summary>
      <param name="obj">The object.</param>
      <typeparam name="T">The type of object.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Diagnostics.ExceptionData">
      <summary>
            Describes an exception in a serializable form.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionData.#ctor(System.Exception)">
      <summary>
            Creates an exception data object from an exception.
            </summary>
      <param name="exception">The exception.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionData.#ctor(System.String,System.String,Gallio.Common.Diagnostics.StackTraceData,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Creates an exception data object.
            </summary>
      <param name="type">The exception type full name.</param>
      <param name="message">The exception message text.</param>
      <param name="stackTrace">The exception stack trace.</param>
      <param name="innerException">The inner exception data, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" />,
            <paramref name="message" /> or <paramref name="stackTrace" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionData.#ctor(System.String,System.String,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Creates an exception data object.
            </summary>
      <param name="type">The exception type full name.</param>
      <param name="message">The exception message text.</param>
      <param name="stackTrace">The exception stack trace.</param>
      <param name="innerException">The inner exception data, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" />,
            <paramref name="message" /> or <paramref name="stackTrace" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Diagnostics.ExceptionData.InnerException">
      <summary>
            Gets the inner exception data, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Diagnostics.ExceptionData.Message">
      <summary>
            Gets the exception message text.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionData.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Common.Diagnostics.ExceptionData.StackTrace">
      <summary>
            Gets the exception stack trace.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionData.ToString">
      <summary>
            Formats the exception to a string similar to the one that the .Net framework
            would ordinarily construct.
            </summary>
      <returns>The formatted exception.</returns>
    </member>
    <member name="P:Gallio.Common.Diagnostics.ExceptionData.Type">
      <summary>
            Gets the exception type full name.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionData.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the exception in a structured format with markers to distinguish its component elements.
            </summary>
      <param name="writer">The log stream writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Diagnostics.ExceptionUtils">
      <summary>
            Provides helper functions for manipulating <see cref="T:System.Exception" />s.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.CreateInstanceWithoutTargetInvocationException(System.Type,System.Object[])">
      <summary>
            Creates an object using <see cref="M:System.Activator.CreateInstance(System.Type)" /> without producing a <see cref="T:System.Reflection.TargetInvocationException" /></summary>
      <param name="type">The type of object to create.</param>
      <param name="args">The constructor arguments, or null if none.</param>
      <returns>The new instance, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.InvokeConstructorWithoutTargetInvocationException(System.Reflection.ConstructorInfo,System.Object[])">
      <summary>
            Invokes a constructor without producing a <see cref="T:System.Reflection.TargetInvocationException" /></summary>
      <param name="constructor">The constructor to invoke.</param>
      <param name="args">The constructor arguments, or null if none.</param>
      <returns>The new instance, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="constructor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.InvokeMethodWithoutTargetInvocationException(System.Reflection.MethodBase,System.Object,System.Object[])">
      <summary>
            Invokes a method without producing a <see cref="T:System.Reflection.TargetInvocationException" /></summary>
      <param name="method">The method to invoke.</param>
      <param name="obj">The instance on which to invoke the method, or null if none.</param>
      <param name="args">The method arguments, or null if none.</param>
      <returns>The method return value, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="method" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.RethrowWithNoStackTraceLoss(System.Exception)">
      <summary>
            Rethrows an exception without discarding its stack trace.
            This enables the inner exception of <see cref="T:System.Reflection.TargetInvocationException" />
            to be unwrapped.
            </summary>
      <param name="ex">The exception to rethrow.</param>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.SafeGetMessage(System.Exception)">
      <summary>
            Safely obtains the <see cref="P:System.Exception.Message" /> component of an exception.
            </summary>
      <returns>The message.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ex" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.SafeGetStackTrace(System.Exception)">
      <summary>
            Safely obtains the <see cref="P:System.Exception.StackTrace" /> component of an exception.
            </summary>
      <returns>The stack trace.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ex" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.ExceptionUtils.SafeToString(System.Exception)">
      <summary>
            Safely converts an exception to a string.
            </summary>
      <param name="ex">The exception.</param>
      <returns>The string contents.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ex" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Diagnostics.StackTraceData">
      <summary>
            Describes a stack trace in a serializable form.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceData.#ctor(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a stack trace data object that points to the specified code element.
            </summary>
      <param name="codeElement">The code element.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceData.#ctor(System.String)">
      <summary>
            Creates a stack trace data object from a string.
            </summary>
      <param name="stackTrace">The stack trace.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stackTrace" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Diagnostics.StackTraceData.IsEmpty">
      <summary>
            Returns true if the stack trace data is empty.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceData.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceData.ToString">
      <summary>
            Formats the stack trace to a string similar to the one that the .Net framework
            would ordinarily construct.
            </summary>
      <returns>The formatted stack trace.</returns>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceData.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the stack trace in a structured format with markers to distinguish its component elements.
            </summary>
      <param name="writer">The log stream writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Diagnostics.StackTraceFilter">
      <summary>
            Provides methods for filtering the stack trace for tests.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceFilter.CaptureFilteredStackTrace">
      <summary>
            Captures a filtered stack trace from the currently executing thread.
            </summary>
      <returns>The filtered stack trace.</returns>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceFilter.FilterException(Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Filters the stack trace information about an exception.
            </summary>
      <param name="exception">The exception data.</param>
      <returns>The filtered exception data.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceFilter.FilterException(System.Exception)">
      <summary>
            Filters the stack trace information in an exception.
            </summary>
      <param name="exception">The exception.</param>
      <returns>The filtered exception data.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceFilter.FilterStackTrace(System.String)">
      <summary>
            Filters a stack trace.
            </summary>
      <param name="stackTrace">The stack trace.</param>
      <returns>The filtered stack trace.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stackTrace" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Common.Diagnostics.StackTraceFilter.FilterStackTraceToString(System.Diagnostics.StackTrace)">
      <summary>
            Filters a stack trace.
            </summary>
      <param name="stackTrace">The stack trace.</param>
      <returns>The filtered stack trace string.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stackTrace" />
            is null.</exception>
    </member>
    <member name="T:Gallio.Common.Diagnostics.SystemInternalAttribute">
      <summary>
            This attribute is used to mark methods and types that are internal to the implementation
            of the system.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.SystemInternalAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Diagnostics.SystemInternalAttribute" /> class</summary>
    </member>
    <member name="T:Gallio.Common.Diagnostics.UserCodeEntryPointAttribute">
      <summary>
            This attribute is used to mark methods that call into user code.
            </summary>
    </member>
    <member name="M:Gallio.Common.Diagnostics.UserCodeEntryPointAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Diagnostics.UserCodeEntryPointAttribute" /> class</summary>
    </member>
    <member name="T:Gallio.Common.IO.ConsoleRedirection">
      <summary>
            Redirects the console streams.
            </summary>
    </member>
    <member name="M:Gallio.Common.IO.ConsoleRedirection.#ctor(System.IO.TextWriter,System.IO.TextWriter)">
      <summary>
            Redirect console output and error stream and disables the console input stream.
            </summary>
      <param name="consoleOut">The new console output writer.</param>
      <param name="consoleError">The new console error writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="consoleOut" />
            or <paramref name="consoleError" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.IO.ConsoleRedirection.Dispose">
      <summary>
            Resets the console streams as they were initially.
            </summary>
    </member>
    <member name="M:Gallio.Common.IO.ConsoleRedirection.Dispose(System.Boolean)">
      <summary>
            Resets the console streams as they were initially.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Common.IO.ConsoleRedirection.Dispose" /> was called directly.</param>
    </member>
    <member name="T:Gallio.Common.IO.CurrentDirectorySwitcher">
      <summary>
            Sets <see cref="P:System.Environment.CurrentDirectory" /> when created, then
            restores it when disposed.
            </summary>
    </member>
    <member name="M:Gallio.Common.IO.CurrentDirectorySwitcher.#ctor(System.String)">
      <summary>
            Saves the current directory then changes it to the specified value.
            </summary>
      <param name="directory">The new directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="directory" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the current directory could not be set.</exception>
    </member>
    <member name="M:Gallio.Common.IO.CurrentDirectorySwitcher.Dispose">
      <summary>
            Resets the current directory to its original saved value.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if the current directory could not be reset.</exception>
    </member>
    <member name="M:Gallio.Common.IO.CurrentDirectorySwitcher.Dispose(System.Boolean)">
      <summary>
            Resets the current directory to its original saved value if disposing.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Common.IO.CurrentDirectorySwitcher.Dispose" /> was called directly.</param>
      <exception cref="T:System.IO.IOException">Thrown if the current directory could not be reset.</exception>
    </member>
    <member name="T:Gallio.Common.IO.FileSystem">
      <summary>
             Default implementation of IFileSystem using System.IO classes.
            </summary>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.IO.FileSystem" /> class</summary>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.CopyDirectory(System.String,System.String)">
      <summary>
            Copy a directory and contents.
            </summary>
      <param name="sourceDirectory">The path of the directory to copy.</param>
      <param name="targetDirectory">The destination.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.CopyFile(System.String,System.String,System.Boolean)">
      <summary>
            Copies an existing file to a new file. Overwriting a file of the same name is allowed.
            </summary>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. 
            This cannot be a directory or an existing file.</param>
      <param name="overwrite">true if the destination file can be overwritten; 
            otherwise, false.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.CreateDirectory(System.String)">
      <summary>
             Attempts to create a directory.
            </summary>
      <param name="path">The location of the directory.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.DeleteDirectory(System.String,System.Boolean)">
      <summary>
             Deletes the specified directory and, if indicated, 
             any subdirectories in the directory.
            </summary>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">true to remove directories, subdirectories, 
             and files in path; otherwise, false.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.DeleteFile(System.String)">
      <summary>
             Attempts to delete a file.
            </summary>
      <param name="path">The location of the file.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.DirectoryExists(System.String)">
      <summary>
             Checks if a directory exists (Directory.Exists)
            </summary>
      <param name="path">The location of the directory.</param>
      <returns>True if the directory exists, otherwise False.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.FileExists(System.String)">
      <summary>
             Checks if a given file exists (File.Exists).
            </summary>
      <param name="path">The path of the file.</param>
      <returns>True if the file exists, otherwise False.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.GetFilesInDirectory(System.String,System.String,System.IO.SearchOption)">
      <summary>
            Returns a list of matching files in the specified directory.
            </summary>
      <param name="path">The directory to inspect.</param>
      <param name="searchPattern">The pattern to match files with.</param>
      <param name="searchOption">Whether to search all directories or just 
            the top-level one.</param>
      <returns>A string array of filenames.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.IsPathRooted(System.String)">
      <summary>
             Checks if a path is relative or absolute (Path.IsPathRooted).
            </summary>
      <param name="path">The path to check.</param>
      <returns>True if the path is absolute, otherwise False.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileSystem.OpenFile(System.String)">
      <summary>
             Attempts to open a file using the default program.
            </summary>
      <param name="path">The location of the file.</param>
    </member>
    <member name="T:Gallio.Common.IO.FileUtils">
      <summary>
            Utilities for manipulating files.
            </summary>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.CanonicalizePath(System.String,System.String)">
      <summary>
            Makes an absolute path.
            </summary>
      <param name="baseDirectory">The base directory for resolving relative paths,
            or null to use the current directory.</param>
      <param name="path">The path to canonicalize, or null if none.</param>
      <returns>The absolute path, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.CanonicalizePaths(System.String,System.Collections.Generic.IList{System.String})">
      <summary>
            Makes all paths in the list absolute.
            </summary>
      <param name="baseDirectory">The base directory for resolving relative paths,
            or null to use the current directory.</param>
      <param name="paths">The list of paths to canonicalize in place.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.CopyAll(System.String,System.String,System.Boolean)">
      <summary>
            Recursively copies files and folders from the source path to the destination.
            </summary>
      <param name="sourcePath">The source file or directory path.</param>
      <param name="destPath">The destination file or directory path.</param>
      <param name="overwrite">If true, overwrites existing files in the destination.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourcePath" /> or <paramref name="destPath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.CopyAllIndirect(System.String,System.String,System.Action{System.String},Gallio.Common.Action{System.String,System.String})">
      <summary>
            Recursively copies files and folders from the source path to the destination
            using an indirect mechanism to actually create a file or folder.
            </summary>
      <param name="sourcePath">The source file or directory path.</param>
      <param name="destPath">The destination file or directory path.</param>
      <param name="createDirectoryAction">A delegate used to create a directory with a given destination directory path, or null to do nothing.</param>
      <param name="copyFileAction">A delegate used to copy a source file to a given destination file path, or null to do nothing.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourcePath" /> or <paramref name="destPath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.CopyStreamContents(System.IO.Stream,System.IO.Stream)">
      <summary>
        <para>
            Copies the contents of a source stream to a destination stream.
            </para>
      </summary>
      <param name="sourceStream">The source stream.</param>
      <param name="destStream">The destination stream.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceStream" />
            or <paramref name="destStream" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.DeleteAll(System.String)">
      <summary>
            Recursively deletes a file or directory.
            Does nothing if the file or directory does not exist.
            </summary>
      <param name="path">The path.</param>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.EncodeFileName(System.String)">
      <summary>
            Replaces invalid characters in a file or directory name with underscores
            and trims it if it is too long.
            </summary>
      <param name="fileName">The file or directory name.</param>
      <returns>The encoded file or directory name.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.GetFullPathOfParentDirectory(System.String)">
      <summary>
            Gets the full path of the containing directory.
            </summary>
      <param name="path">The path.</param>
      <returns>The full path of the parent directory or null if it is at the root.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.MakeAbsolutePath(System.String,System.String)">
      <summary>
            Makes an absolute path from an relative path if possible.
            </summary>
      <param name="relativePath">The relative path.</param>
      <param name="basePath">The base path.</param>
      <returns>The absolute path.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.MakeRelativePath(System.String,System.String)">
      <summary>
            Makes a relative path from an absolute path if possible.
            </summary>
      <param name="absolutePath">The absolute path.</param>
      <param name="basePath">The base path.</param>
      <returns>The path relative to the base path, or an absolute path if the paths are unrelated.</returns>
    </member>
    <member name="M:Gallio.Common.IO.FileUtils.StripTrailingBackslash(System.String)">
      <summary>
            Strips the trailing backslash off of a directory path, if present.
            </summary>
      <param name="path">The path to strip, or null if none.</param>
      <returns>The stripped path, or null if none.</returns>
    </member>
    <member name="T:Gallio.Common.IO.IFileSystem">
      <summary>
            Wrapper for static System.IO.File operations to 
            allow testing.
            </summary>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.CopyDirectory(System.String,System.String)">
      <summary>
            Copy a directory and contents.
            </summary>
      <param name="sourceDirectory">The path of the directory to copy.</param>
      <param name="targetDirectory">The destination.</param>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.CopyFile(System.String,System.String,System.Boolean)">
      <summary>
            Copies an existing file to a new file. Overwriting a file of the same name is allowed.
            </summary>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. 
            This cannot be a directory or an existing file.</param>
      <param name="overwrite">true if the destination file can be overwritten; 
            otherwise, false.</param>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.CreateDirectory(System.String)">
      <summary>
             Attempts to create a directory.
            </summary>
      <param name="path">The location of the directory.</param>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.DeleteDirectory(System.String,System.Boolean)">
      <summary>
             Deletes the specified directory and, if indicated, 
             any subdirectories in the directory.
            </summary>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">true to remove directories, subdirectories, 
             and files in path; otherwise, false.</param>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.DeleteFile(System.String)">
      <summary>
             Attempts to delete a file.
            </summary>
      <param name="path">The location of the file.</param>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.DirectoryExists(System.String)">
      <summary>
             Checks if a directory exists (Directory.Exists)
            </summary>
      <param name="path">The location of the directory.</param>
      <returns>True if the directory exists, otherwise False.</returns>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.FileExists(System.String)">
      <summary>
             Checks if a given file exists (File.Exists).
            </summary>
      <param name="path">The path of the file.</param>
      <returns>True if the file exists, otherwise False.</returns>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.GetFilesInDirectory(System.String,System.String,System.IO.SearchOption)">
      <summary>
            Returns a list of matching files in the specified directory.
            </summary>
      <param name="path">The directory to inspect.</param>
      <param name="searchPattern">The pattern to match files with.</param>
      <param name="searchOption">Whether to search all directories or just 
            the top-level one.</param>
      <returns>A string array of filenames.</returns>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.IsPathRooted(System.String)">
      <summary>
             Checks if a path is relative or absolute (Path.IsPathRooted).
            </summary>
      <param name="path">The path to check.</param>
      <returns>True if the path is absolute, otherwise False.</returns>
    </member>
    <member name="M:Gallio.Common.IO.IFileSystem.OpenFile(System.String)">
      <summary>
             Attempts to open a file using the default program.
            </summary>
      <param name="path">The location of the file.</param>
    </member>
    <member name="T:Gallio.Common.Markup.Attachment">
      <summary>
            An attachment is an embedded object in a markup document.  An attachment must specify a
            content type (a MIME type), and some contents.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Attachment.ContentType">
      <summary>
            Gets the content type of the attachment specified as a MIME type, not null.
            <seealso cref="T:Gallio.Common.Markup.MimeTypes" /> for definitions of common supported MIME types.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreateHtmlAttachment(System.String,System.String)">
      <summary>
            Creates an HTML attachment.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="html">The html string, not null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="html" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreateImageAttachment(System.String,System.Drawing.Image)">
      <summary>
            Creates an image attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="image">The image to attach.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="image" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreateObjectAsXmlAttachment(System.String,System.Object,System.Xml.Serialization.XmlSerializer)">
      <summary>
            Creates XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" /> by serializing an object.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <param name="xmlSerializer">The xml serializer to use, or null to use the default based on the object's type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreatePlainTextAttachment(System.String,System.String)">
      <summary>
            Creates a plain text attachment.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="text">The text string, not null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreateVideoAttachment(System.String,Gallio.Common.Media.Video)">
      <summary>
            Creates an video attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="video">The video to attach.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="video" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreateXHtmlAttachment(System.String,System.String)">
      <summary>
            Creates an XHTML attachment.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="xhtml">The xhtml string, not null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xhtml" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.CreateXmlAttachment(System.String,System.String)">
      <summary>
            Creates an XML attachment.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="xml">The XML string, not null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xml" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.FromAttachmentData(Gallio.Common.Markup.AttachmentData)">
      <summary>
            Recovers the attachment information from serializable attachment data.
            </summary>
      <param name="data">The attachment data.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="data" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.Attachment.Name">
      <summary>
            Gets the name of the attachment, not null.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Attachment.ToAttachmentData">
      <summary>
            Generates serializable attachment data from an attachment.
            </summary>
      <returns>The attachment data.</returns>
    </member>
    <member name="T:Gallio.Common.Markup.AttachmentContentDisposition">
      <summary>
            Specifies how attachments are stored in Xml and as files.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.AttachmentContentDisposition.Absent">
      <summary>
            The attachment content is not present.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.AttachmentContentDisposition.Link">
      <summary>
            The attachment content is saved to a linked file indicated by <see cref="P:Gallio.Common.Markup.AttachmentData.ContentPath" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.AttachmentContentDisposition.Inline">
      <summary>
            The attachment content is included inline as <see cref="P:Gallio.Common.Markup.AttachmentData.SerializedContents" />
            with a given <see cref="P:Gallio.Common.Markup.AttachmentData.Encoding" />.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.AttachmentData">
      <summary>
        <para>
            An Xml-serializable structure that describes the contents, encoding and disposition of an attachment.
            </para>
        <para>
            The contents of the attachment are embedded in the execution log according to
            their encoding.  Text is directly embedded into the Xml whereas
            binary attachments are base 64 encoded.
            </para>
      </summary>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.ContentDisposition">
      <summary>
            Gets or sets the content disposition of the attachment which
            indicates how the attachment has been stored.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.ContentPath">
      <summary>
            Gets or sets the path of the attachment contents relative to
            the directory that contains the Xml serialized report,
            or null if the content is embedded.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.ContentType">
      <summary>
            Gets or sets the content type of the attachment as a MIME type, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.Encoding">
      <summary>
            Gets or sets the encoding of the attachment.
            This value specifies how the attachment is represented in Xml.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.AttachmentData.GetBytes">
      <summary>
            Gets the binary contents of a binary attachment.
            </summary>
      <returns>The bytes, or null if not available.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the attachment is not binary.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.AttachmentData.GetText">
      <summary>
            Gets the text contents of a text attachment.
            </summary>
      <returns>The text, or null if not available.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the attachment is not textual.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.IsText">
      <summary>
            Returns true if the attachment is textual, false if it is binary.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.AttachmentData.LoadContents(System.IO.Stream)">
      <summary>
            Loads the attachment contents from a stream.
            </summary>
      <param name="stream">The stream.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is null.</exception>
      <exception cref="T:System.IO.IOException">If the attachment could not be loaded.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.Name">
      <summary>
            Gets or sets the name of the attachment, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.AttachmentData.SaveContents(System.IO.Stream,System.Text.Encoding)">
      <summary>
            Saves the attachment contents to a stream.
            </summary>
      <param name="stream">The stream.</param>
      <param name="encoding">The preferred encoding to use if writing text, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is null.</exception>
      <exception cref="T:System.IO.IOException">If the attachment could not be saved.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the attachment contents are not available.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.AttachmentData.SerializedContents">
      <summary>
            Gets or sets the attachment content serialized as text (including Base64 attachments), possibly null if none.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.AttachmentEncoding">
      <summary>
            Specifies the Xml-encoding of the contents of an embedded attachment.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.AttachmentEncoding.Text">
      <summary>
            The attachment is encoded as a text string.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.AttachmentEncoding.Base64">
      <summary>
            The attachment is encoded as base 64 text string.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.BinaryAttachment">
      <summary>
            Represents a binary-encoded attachment.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.BinaryAttachment.#ctor(System.String,System.String,System.Byte[])">
      <summary>
            Creates an attachment.
            </summary>
      <param name="name">The attachment name, not null.</param>
      <param name="contentType">The content type, not null.</param>
      <param name="bytes">The binary data, not null.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="contentType" /> or <paramref name="bytes" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.BinaryAttachment.Bytes">
      <summary>
            Gets the binary content of the attachment, not null.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.BinaryAttachment.Equals(Gallio.Common.Markup.BinaryAttachment)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.BinaryAttachment.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.BinaryAttachment.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.BinaryAttachment.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.BinaryAttachment.ToAttachmentData">
      <summary>
            Generates serializable attachment data from an attachment.
            </summary>
      <returns>The attachment data.</returns>
    </member>
    <member name="T:Gallio.Common.Markup.FallbackMarkupDocumentWriter">
      <summary>
            A markup document writer that falls back to a different writer for certain
            operations when its primary markup document writer is closed.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.#ctor(Gallio.Common.Markup.MarkupDocumentWriter,Gallio.Common.Markup.MarkupDocumentWriter)">
      <summary>
            Creates a fallback markup document writer with the specified provider.
            </summary>
      <param name="primary">The markup document writer to call by default.</param>
      <param name="fallback">The markup document to call as a fallback.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="primary" />
            or <paramref name="fallback" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.AttachImpl(Gallio.Common.Markup.Attachment)">
      <summary>
            Adds an attachment to the markup document.
            </summary>
      <param name="attachment">The attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.StreamBeginMarkerImpl(System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="marker">The marker.</param>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.StreamBeginSectionImpl(System.String,System.String)">
      <summary>
            Begins a section in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="sectionName">The name of the section to begin, never null.</param>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.StreamEmbedImpl(System.String,System.String)">
      <summary>
            Embeds an attachment into a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="attachmentName">The name of the attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.StreamEndImpl(System.String)">
      <summary>
            Ends the current region started with one of the Begin* methods in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.FallbackMarkupDocumentWriter.StreamWriteImpl(System.String,System.String)">
      <summary>
            Writes a text string to a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="text">The text to write, never null.</param>
    </member>
    <member name="T:Gallio.Common.Markup.IMarkupStreamWritable">
      <summary>
            Interface implemented by objects that can write themselves to
            a <see cref="T:Gallio.Common.Markup.MarkupStreamWriter" /></summary>
    </member>
    <member name="M:Gallio.Common.Markup.IMarkupStreamWritable.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the object to a markup stream.
            </summary>
      <param name="writer">The markup stream.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.Marker">
      <summary>
            A marker is a hidden tag that labels markup contents with a semantic class.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.#ctor(System.String)">
      <summary>
            Creates a marker.
            </summary>
      <param name="class">The marker class.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="class" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the <paramref name="class" /> is not a valid identifier.  <seealso cref="M:Gallio.Common.Markup.Marker.ValidateIdentifier(System.String)" />.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
            Creates a marker with attributes.
            </summary>
      <param name="class">The marker class.</param>
      <param name="attributes">The attributes.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="class" /> or
            <paramref name="attributes" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the <paramref name="class" /> is not a valid identifier.  <seealso cref="M:Gallio.Common.Markup.Marker.ValidateIdentifier(System.String)" />.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.AssertionFailure">
      <summary>
            Standard marker for assertion failures.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.AssertionFailureClass">
      <summary>
            Standard marker class for assertion failures.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Attributes">
      <summary>
            Gets the marker's attributes which are optional name/value pairs associated
            with a marker to carry additional semantic content.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Class">
      <summary>
            Gets the marker class.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.CodeLocation(Gallio.Common.Reflection.CodeLocation)">
      <summary>
            Creates a standard marker for a code location.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.CodeLocationClass">
      <summary>
            Standard marker class for code location references.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.CodeLocationColumnNumberAttrib">
      <summary>
            Column attribute for code location references.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.CodeLocationLineNumberAttrib">
      <summary>
            Line attribute for code location references.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.CodeLocationPathAttrib">
      <summary>
            Path attribute for code location references.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.DiffAddition">
      <summary>
            Standard marker for content that represents added content in a diff.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.DiffAdditionClass">
      <summary>
            Standard marker class for content that represents added content in a diff.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.DiffChange">
      <summary>
            Standard marker for content that represents changed content in a diff.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.DiffChangeClass">
      <summary>
            Standard marker class for content that represents changed content in a diff.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.DiffDeletion">
      <summary>
            Standard marker for content that represents deleted content in a diff.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.DiffDeletionClass">
      <summary>
            Standard marker class for content that represents deleted content in a diff.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Ellipsis">
      <summary>
            Standard marker for text that is elided and replaced by an ellipsis.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.EllipsisClass">
      <summary>
            Standard marker class for content that has been elided and may be made available
            instead as an attribute.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.Equals(Gallio.Common.Markup.Marker)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Exception">
      <summary>
            Standard marker for exceptions including their details.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.ExceptionClass">
      <summary>
            Standard marker class for exceptions including their details.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.ExceptionMessage">
      <summary>
            Standard marker for exception messages reported as part of exception details.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.ExceptionMessageClass">
      <summary>
            Standard marker class for exception messages reported as part of exception details.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.ExceptionType">
      <summary>
            Standard marker for exception types reported as part of exception details.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.ExceptionTypeClass">
      <summary>
            Standard marker class for exception types reported as part of exception details.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Highlight">
      <summary>
            Standard marker for content that should be displayed with a highlight.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.HighlightClass">
      <summary>
            Standard marker class for content that should be displayed with a highlight.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Label">
      <summary>
            Standard marker for labels and headings.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.LabelClass">
      <summary>
            Standard marker class for labels and headings.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.Link(System.String)">
      <summary>
            Creates a standard marker for a link to a Url.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.LinkClass">
      <summary>
            Standard marker class for link to a url.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.LinkUrlAttrib">
      <summary>
            Url attribute for links.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.Monospace">
      <summary>
            Standard marker for fixed width output such as that from a console or structured table.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.MonospaceClass">
      <summary>
            Standard marker class for fixed width output such as that from a console or structured table.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.op_Equality(Gallio.Common.Markup.Marker,Gallio.Common.Markup.Marker)">
      <summary>
            Returns true if two markers are equal.
            </summary>
      <param name="a">The first marker to compare.</param>
      <param name="b">The second marker to compare.</param>
      <returns>True if the markers are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.op_Inequality(Gallio.Common.Markup.Marker,Gallio.Common.Markup.Marker)">
      <summary>
            Returns true if two markers are not equal.
            </summary>
      <param name="a">The first marker to compare.</param>
      <param name="b">The second marker to compare.</param>
      <returns>True if the markers are not equal.</returns>
    </member>
    <member name="P:Gallio.Common.Markup.Marker.StackTrace">
      <summary>
            Standard marker for stack traces.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.Marker.StackTraceClass">
      <summary>
            Standard marker class for stack traces.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.ValidateIdentifier(System.String)">
      <summary>
            Verifies that the parameter is a valid marker class or attribute identifier.
            </summary>
      <param name="identifier">The identifier.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="identifier" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="identifier" /> is empty or contains characters
            other than letters, digits and underscores.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Marker.WithAttribute(System.String,System.String)">
      <summary>
            Creates a copy of the marker with the specified attribute added.
            </summary>
      <param name="name">The attribute name.</param>
      <param name="value">The attribute value.</param>
      <returns>The marker copy with the attribute.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the <paramref name="name" /> is not a valid identifier.  <seealso cref="M:Gallio.Common.Markup.Marker.ValidateIdentifier(System.String)" />.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.MarkupDocumentWriter">
      <summary>
            A markup document writer records structured text as a hierarchically structured
            document.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Markup.MarkupDocumentWriter" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.Attach(Gallio.Common.Markup.Attachment)">
      <summary>
            Attaches an attachment to the document.
            </summary>
      <param name="attachment">The attachment to include.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachment" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachHtml(System.String,System.String)">
      <summary>
            Attaches an HTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Html" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="html">The HTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="html" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachImage(System.String,System.Drawing.Image)">
      <summary>
            Attaches an image attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="image">The image to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="image" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachImpl(Gallio.Common.Markup.Attachment)">
      <summary>
            Adds an attachment to the markup document.
            </summary>
      <param name="attachment">The attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachObjectAsXml(System.String,System.Object)">
      <summary>
            Attaches an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the default <see cref="T:System.Xml.Serialization.XmlSerializer" /> for the object's type.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachObjectAsXml(System.String,System.Object,System.Xml.Serialization.XmlSerializer)">
      <summary>
            Attaches an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the specified <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <param name="xmlSerializer">The <see cref="T:System.Xml.Serialization.XmlSerializer" /> to use, or null to use the default <see cref="T:System.Xml.Serialization.XmlSerializer" />
            for the object's type.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachPlainText(System.String,System.String)">
      <summary>
            Attaches an plain text attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.PlainText" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="text">The text to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachVideo(System.String,Gallio.Common.Media.Video)">
      <summary>
            Attaches a video attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="video">The video to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="video" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachXHtml(System.String,System.String)">
      <summary>
            Attaches an XHTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.XHtml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="xhtml">The XHTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xhtml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.AttachXml(System.String,System.String)">
      <summary>
            Attaches an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="xml">The XML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.Close">
      <summary>
            Closes the markup document writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.CloseImpl">
      <summary>
            Closes the markup document writer.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.ConsoleError">
      <summary>
            Gets the stream writer for captured <see cref="P:System.Console.Error" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.ConsoleInput">
      <summary>
            Gets the stream writer for captured <see cref="P:System.Console.In" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.ConsoleOutput">
      <summary>
            Gets the stream writer for captured <see cref="P:System.Console.Out" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.DebugTrace">
      <summary>
            Gets the stream writer for diagnostic <see cref="T:System.Diagnostics.Debug" /> and <see cref="T:System.Diagnostics.Trace" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.Default">
      <summary>
            Gets the stream writer for generic log messages.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.Failures">
      <summary>
            Gets the stream writer for reporting failure messages and exceptions.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.Flush">
      <summary>
            Flushes the markup writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.FlushImpl">
      <summary>
            Flushes the markup document writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.GetStreamImpl(System.String)">
      <summary>
            Gets a writer for the stream with the specified name.
            </summary>
      <param name="streamName">The stream name, never null.</param>
      <returns>The markup stream writer.</returns>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.IsClosed">
      <summary>
            Returns true if the markup document writer is closed.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.Item(System.String)">
      <summary>
            Gets the markup stream with the specified name.  If the stream
            does not exist, it is created on demand.
            </summary>
      <param name="streamName">The name of the markup stream.</param>
      <returns>The log stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="streamName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.StreamBeginMarkerImpl(System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="marker">The marker.</param>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.StreamBeginSectionImpl(System.String,System.String)">
      <summary>
            Begins a section in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="sectionName">The name of the section to begin, never null.</param>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.StreamEmbedImpl(System.String,System.String)">
      <summary>
            Embeds an attachment into a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="attachmentName">The name of the attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.StreamEndImpl(System.String)">
      <summary>
            Ends the current region started with one of the Begin* methods in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.StreamFlushImpl(System.String)">
      <summary>
            Flushes a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupDocumentWriter.StreamWriteImpl(System.String,System.String)">
      <summary>
            Writes a text string to a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="text">The text to write, never null.</param>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupDocumentWriter.Warnings">
      <summary>
            Gets the stream writer for reporting warning messages.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.MarkupNormalizationUtils">
      <summary>
            Utilities for normalizing markup contents.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupNormalizationUtils.NormalizeAttachmentName(System.String)">
      <summary>
            Normalizes an attachment name.
            </summary>
      <param name="attachmentName">The attachment name, or null if none.</param>
      <returns>The normalized attachment name, or null if none.  May be the same instance if <paramref name="attachmentName" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupNormalizationUtils.NormalizeContentType(System.String)">
      <summary>
            Normalizes a content type.
            </summary>
      <param name="contentType">The content type, or null if none.</param>
      <returns>The normalized content type, or null if none.  May be the same instance if <paramref name="contentType" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupNormalizationUtils.NormalizeSectionName(System.String)">
      <summary>
            Normalizes a section name.
            </summary>
      <param name="sectionName">The section name, or null if none.</param>
      <returns>The normalized section name, or null if none.  May be the same instance if <paramref name="sectionName" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupNormalizationUtils.NormalizeStreamName(System.String)">
      <summary>
            Normalizes a stream name.
            </summary>
      <param name="streamName">The stream name, or null if none.</param>
      <returns>The normalized stream name, or null if none.  May be the same instance if <paramref name="streamName" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupNormalizationUtils.NormalizeText(System.String)">
      <summary>
            Normalizes markup text.
            </summary>
      <param name="text">The text, or null if none.</param>
      <returns>The normalized text, or null if none.  May be the same instance if <paramref name="text" />
            was already normalized.</returns>
    </member>
    <member name="T:Gallio.Common.Markup.MarkupStreamNames">
      <summary>
            Common markup stream names.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.ConsoleError">
      <summary>
            The name of the standard stream for captured <see cref="P:System.Console.Error" /> messages.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.ConsoleInput">
      <summary>
            The name of the standard stream for captured <see cref="P:System.Console.In" /> messages.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.ConsoleOutput">
      <summary>
            The name of the standard stream for captured <see cref="P:System.Console.Out" /> messages.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.DebugTrace">
      <summary>
            The name of the standard stream for diagnostic <see cref="T:System.Diagnostics.Debug" /> and <see cref="T:System.Diagnostics.Trace" /> messages.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.Default">
      <summary>
            The name of the standard stream for generic log messages.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.Failures">
      <summary>
            The name of the standard stream for reporting failure messages and exceptions.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MarkupStreamNames.Warnings">
      <summary>
            The name of the standard stream for reporting warning messages.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.MarkupStreamWriter">
      <summary>
            A markup stream writer provides methods for writing rich structured text with embedded
            attachments, nested sections and hidden semantic markers to a particular stream within
            a markup document writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.#ctor(Gallio.Common.Markup.MarkupDocumentWriter,System.String)">
      <summary>
            Creates a markup stream writer.
            </summary>
      <param name="container">The containing markup document writer.</param>
      <param name="streamName">The stream name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="container" />
            or <paramref name="streamName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.BeginMarker(Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region.  May be nested.
            </summary>
      <param name="marker">The marker.</param>
      <returns>A Disposable object that calls <see cref="M:Gallio.Common.Markup.MarkupStreamWriter.End" /> when disposed.  This
            is a convenience for use with the C# "using" statement.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.BeginSection(System.String)">
      <summary>
            Begins a section with the specified name.  May be nested.
            </summary>
      <param name="sectionName">The name of the section.</param>
      <returns>A Disposable object that calls <see cref="M:Gallio.Common.Markup.MarkupStreamWriter.End" /> when disposed.  This
            is a convenience for use with the C# "using" statement.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sectionName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupStreamWriter.Container">
      <summary>
            Gets the containing markup document writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Dispose(System.Boolean)">
      <summary>
            This method does not make sense for a markup stream writer because
            a stream cannot be closed independently of its containing document.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Embed(Gallio.Common.Markup.Attachment)">
      <summary>
            Embeds an attachment.
            </summary>
      <param name="attachment">The attachment to embed.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachment" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedExisting(System.String)">
      <summary>
            Embeds another copy of an existing attachment.
            </summary>
      <param name="attachmentName">The name of the existing attachment to embed.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachmentName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedHtml(System.String,System.String)">
      <summary>
            Embeds an HTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Html" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="html">The HTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="html" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedImage(System.String,System.Drawing.Image)">
      <summary>
            Embeds an image attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="image">The image to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="image" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedObjectAsXml(System.String,System.Object)">
      <summary>
            Embeds an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the default <see cref="T:System.Xml.Serialization.XmlSerializer" /> for the object's type.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedObjectAsXml(System.String,System.Object,System.Xml.Serialization.XmlSerializer)">
      <summary>
            Embeds an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the specified <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <param name="xmlSerializer">The <see cref="T:System.Xml.Serialization.XmlSerializer" /> to use, or null to use the default <see cref="T:System.Xml.Serialization.XmlSerializer" />
            for the object's type.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedPlainText(System.String,System.String)">
      <summary>
            Embeds an plain text attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.PlainText" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="text">The text to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedVideo(System.String,Gallio.Common.Media.Video)">
      <summary>
            Embeds a video attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="video">The video to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="video" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedXHtml(System.String,System.String)">
      <summary>
            Embeds an XHTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.XHtml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="xhtml">The XHTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xhtml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.EmbedXml(System.String,System.String)">
      <summary>
            Embeds an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the document.</param>
      <param name="xml">The XML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupStreamWriter.Encoding">
      <summary>
                    When overridden in a derived class, returns the <see cref="T:System.Text.Encoding" /> in which the output is written.
                </summary>
      <returns>
                    The Encoding in which the output is written.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.End">
      <summary>
            Ends the region most recently started with one of the Begin* methods.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Flush">
      <summary>
                    Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
                </summary>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupStreamWriter.NewLine">
      <summary>
                    Gets or sets the line terminator string used by the current TextWriter.
                </summary>
      <returns>
                    The line terminator string for the current TextWriter.
                </returns>
    </member>
    <member name="P:Gallio.Common.Markup.MarkupStreamWriter.StreamName">
      <summary>
            Gets the name of the markup stream being written.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Write(Gallio.Common.Markup.IMarkupStreamWritable)">
      <summary>
        <para>
            Writes a markup stream writable object to the stream.
            </para>
      </summary>
      <param name="obj">The object to write, or null if none.</param>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Write(System.Char)">
      <summary>
                    Writes a character to the text stream.
                </summary>
      <param name="value">
                    The character to write to the text stream. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Write(System.Char[],System.Int32,System.Int32)">
      <summary>
                    Writes a subarray of characters to the text stream.
                </summary>
      <param name="buffer">
                    The character array to write data from. 
                </param>
      <param name="index">
                    Starting index in the buffer. 
                </param>
      <param name="count">
                    The number of characters to write. 
                </param>
      <exception cref="T:System.ArgumentException">
                    The buffer length minus <paramref name="index" /> is less than <paramref name="count" />. 
                </exception>
      <exception cref="T:System.ArgumentNullException">
                    The <paramref name="buffer" /> parameter is null. 
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> or <paramref name="count" /> is negative. 
                </exception>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Write(System.Object)">
      <summary>
                    Writes the text representation of an object to the text stream by calling ToString on that object.
                </summary>
      <param name="value">
                    The object to write. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.Write(System.String)">
      <summary>
                    Writes a string to the text stream.
                </summary>
      <param name="value">
                    The string to write. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteEllipsis">
      <summary>
            Writes an ellipsis to indicate where content has been elided for brevity.
            An ellipsis may be used, for example, when printing assertion failures to clearly
            identify sections where the user is not being presented all of the information
            because it was too long and had to be truncated.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteException(Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Writes an exception.
            </summary>
      <param name="exception">The exception data to write.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteException(Gallio.Common.Diagnostics.ExceptionData,System.String)">
      <summary>
            Writes an exception within its own section which provides additional cues for interpretation.
            </summary>
      <param name="exception">The exception data to write.</param>
      <param name="sectionName">The section name, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteException(System.Exception)">
      <summary>
            Writes an exception.
            </summary>
      <param name="exception">The exception to write.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteException(System.Exception,System.String)">
      <summary>
            Writes an exception within its own section.
            </summary>
      <param name="exception">The exception to write.</param>
      <param name="sectionName">The section name, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteHighlighted(System.String)">
      <summary>
            Writes highlighted text.  Highlights can be used to
            emphasize important information such differences between similar expected
            and actual values.
            </summary>
      <param name="text">The text to write, or null if none.</param>
    </member>
    <member name="M:Gallio.Common.Markup.MarkupStreamWriter.WriteLine(System.Object)">
      <summary>
                    Writes the text representation of an object by calling ToString on this object, followed by a line terminator to the text stream.
                </summary>
      <param name="value">
                    The object to write. If <paramref name="value" /> is null, only the line termination characters are written. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="T:Gallio.Common.Markup.MimeTypes">
      <summary>
            Defines constants for commonly used mime types for attachment contents.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Binary">
      <summary>
            Binary data.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Css">
      <summary>
            Cascading Style Sheet.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.FlashVideo">
      <summary>
            Flash video.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.MimeTypes.GetExtensionByMimeType(System.String)">
      <summary>
            Guesses the extension given a well-known mime-type.
            </summary>
      <param name="mimeType">The mime type.</param>
      <returns>The extension, or null if not known.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="mimeType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.MimeTypes.GetMimeTypeByExtension(System.String)">
      <summary>
            Guesses the mime type given a well-known extension.
            </summary>
      <param name="extension">The extension.</param>
      <returns>The mime type, or null if not known.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extension" /> is null.</exception>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Gif">
      <summary>
            GIF image.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Html">
      <summary>
            HTML.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.JavaScript">
      <summary>
            JavaScript
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Jpeg">
      <summary>
            JPEG image.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.MHtml">
      <summary>
            MHTML web archive.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.PlainText">
      <summary>
            Plain text data.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Png">
      <summary>
            PNG image.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.XHtml">
      <summary>
            Well-formed XHTML.
            </summary>
    </member>
    <member name="F:Gallio.Common.Markup.MimeTypes.Xml">
      <summary>
            Xml data.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.NullMarkupDocumentWriter">
      <summary>
            A markup document writer that does nothing.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Markup.NullMarkupDocumentWriter" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.AttachImpl(Gallio.Common.Markup.Attachment)">
      <summary>
            Adds an attachment to the markup document.
            </summary>
      <param name="attachment">The attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.StreamBeginMarkerImpl(System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="marker">The marker.</param>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.StreamBeginSectionImpl(System.String,System.String)">
      <summary>
            Begins a section in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="sectionName">The name of the section to begin, never null.</param>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.StreamEmbedImpl(System.String,System.String)">
      <summary>
            Embeds an attachment into a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="attachmentName">The name of the attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.StreamEndImpl(System.String)">
      <summary>
            Ends the current region started with one of the Begin* methods in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.NullMarkupDocumentWriter.StreamWriteImpl(System.String,System.String)">
      <summary>
            Writes a text string to a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="text">The text to write, never null.</param>
    </member>
    <member name="T:Gallio.Common.Markup.StringMarkupDocumentWriter">
      <summary>
            An implementation of <see cref="T:Gallio.Common.Markup.MarkupDocumentWriter" /> that writes its output to a string.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StringMarkupDocumentWriter.#ctor(System.Boolean)">
      <summary>
            Creates a log stream writer for the <see cref="F:Gallio.Common.Markup.MarkupStreamNames.Default" /> stream.
            </summary>
      <param name="verbose">If true, prints detailed information about the location of
            attachments, sections, and markers, otherwise discards these formatting details
            and prints section headers as text on their own line.</param>
    </member>
    <member name="M:Gallio.Common.Markup.StringMarkupDocumentWriter.ToString">
      <summary>
            Gets the formatted log contents as a string.
            </summary>
      <returns>The contents as a string.</returns>
    </member>
    <member name="T:Gallio.Common.Markup.StructuredDocument">
      <summary>
            A structured document is an Xml-serializable in-memory representation of a markup
            document written by a <see cref="T:Gallio.Common.Markup.MarkupDocumentWriter" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocument.#ctor">
      <summary>
            Creates an empty document.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredDocument.Attachments">
      <summary>
            Gets the list of attachments, not null.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocument.GetAttachment(System.String)">
      <summary>
            Gets an attachment by name.
            </summary>
      <param name="name">The attachment name.</param>
      <returns>The attachment or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocument.GetStream(System.String)">
      <summary>
            Gets a stream by name.
            </summary>
      <param name="name">The stream name.</param>
      <returns>The stream or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredDocument.Streams">
      <summary>
            Gets the list of streams, not null.
            Used for Xml-serialization.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocument.ToString">
      <summary>
            Formats the document to a string by concatenating all formatted streams and
            displaying a "*** Stream Name ***" header for each stream name.
            </summary>
      <returns>The formatted text.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocument.WriteTo(Gallio.Common.Markup.MarkupDocumentWriter)">
      <summary>
            Writes the contents of the document to a markup document writer.
            </summary>
      <param name="writer">The writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.StructuredDocumentWriter">
      <summary>
            Writes a <see cref="T:Gallio.Common.Markup.StructuredDocument" /> in memory.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.#ctor">
      <summary>
            Creates a document writer that builds a new <see cref="T:Gallio.Common.Markup.StructuredDocument" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.AttachImpl(Gallio.Common.Markup.Attachment)">
      <summary>
            Adds an attachment to the markup document.
            </summary>
      <param name="attachment">The attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.CloseImpl">
      <summary>
            Closes the markup document writer.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredDocumentWriter.Document">
      <summary>
            Gets the document under construction.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.FlushImpl">
      <summary>
            Flushes the markup document writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.StreamBeginMarkerImpl(System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="marker">The marker.</param>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.StreamBeginSectionImpl(System.String,System.String)">
      <summary>
            Begins a section in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="sectionName">The name of the section to begin, never null.</param>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.StreamEmbedImpl(System.String,System.String)">
      <summary>
            Embeds an attachment into a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="attachmentName">The name of the attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.StreamEndImpl(System.String)">
      <summary>
            Ends the current region started with one of the Begin* methods in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.StreamFlushImpl(System.String)">
      <summary>
            Flushes a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.StreamWriteImpl(System.String,System.String)">
      <summary>
            Writes a text string to a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="text">The text to write, never null.</param>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredDocumentWriter.ToString">
      <summary>
            Flushes the writer and formats it as a string.
            </summary>
      <returns>The formatted document as a string.</returns>
    </member>
    <member name="T:Gallio.Common.Markup.StructuredStream">
      <summary>
            A structured stream object represents a recursively structured stream of rich text that
            supports embedded attachments, nested sections and marked regions.  Each part of the
            text is captured by a tag, some of which are composable and may therefore contain other tags.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredStream.#ctor(System.String)">
      <summary>
            Creates an initialized stream.
            </summary>
      <param name="name">The stream name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredStream.Body">
      <summary>
            Gets or sets the body of the stream, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredStream.Name">
      <summary>
            Gets or sets the name of the stream, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredStream.ToString">
      <summary>
            Formats the stream using a <see cref="T:Gallio.Common.Markup.Tags.TagFormatter" />.
            </summary>
      <returns>The formatted text.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredStream.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the contents of the stream to a markup stream writer.
            </summary>
      <param name="writer">The writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.StructuredText">
      <summary>
            A structured text object contains attachments and formatted text with rich
            presentation elements.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.#ctor(Gallio.Common.Markup.Tags.BodyTag)">
      <summary>
            Creates a structured text object that wraps the body tag of a structured markup document stream
            and no attachments.
            </summary>
      <param name="bodyTag">The body tag to wrap.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="bodyTag" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.#ctor(Gallio.Common.Markup.Tags.BodyTag,System.Collections.Generic.IList{Gallio.Common.Markup.Attachment})">
      <summary>
            Creates a structured text object that wraps the body tag of a structured markup document stream
            and a list of attachments.
            </summary>
      <param name="bodyTag">The body tag to wrap.</param>
      <param name="attachments">The list of attachments.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="bodyTag" />,
            or <paramref name="attachments" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.#ctor(System.String)">
      <summary>
            Creates a simple structured text object over a plain text string.
            </summary>
      <param name="text">The text string.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredText.Attachments">
      <summary>
            Gets the immutable list of attachments belonging to the structured text.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.StructuredText.BodyTag">
      <summary>
            Gets a copy of the body tag that describes the structured text.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.Equals(Gallio.Common.Markup.StructuredText)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.GetTextLength">
      <summary>
            Returns the total length of all <see cref="T:Gallio.Common.Markup.Tags.TextTag" />s that appear within
            the structured text body.
            </summary>
      <returns>The total text length.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.op_Equality(Gallio.Common.Markup.StructuredText,Gallio.Common.Markup.StructuredText)">
      <summary>
            Returns true if two structured text objects are equal.
            </summary>
      <param name="a">The first structured text object to compare.</param>
      <param name="b">The second structured text object to compare.</param>
      <returns>True if the structured text objects are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.op_Inequality(Gallio.Common.Markup.StructuredText,Gallio.Common.Markup.StructuredText)">
      <summary>
            Returns true if two structured text objects are not equal.
            </summary>
      <param name="a">The first structured text object to compare.</param>
      <param name="b">The second structured text object to compare.</param>
      <returns>True if the structured text objects are not equal.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.ToString">
      <summary>
            Formats the structured text to a string, discarding unrepresentable formatting details.
            </summary>
      <returns>The structured text as a string.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.TruncatedWriteTo(Gallio.Common.Markup.MarkupStreamWriter,System.Int32)">
      <summary>
            Writes the structured text to a markup stream writer and truncates its text
            to a particular maximum length, omitting all subsequent contents.
            </summary>
      <param name="writer">The writer.</param>
      <param name="maxLength">The maximum length of text to write.</param>
      <returns>True if truncation occurred.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="maxLength" /> is negative.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredText.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the structured text to a markup stream writer.
            </summary>
      <param name="writer">The writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.StructuredTextWriter">
      <summary>
            Writes information in a structured manner so as to produce a
            <see cref="T:Gallio.Common.Markup.StructuredText" /> or <see cref="T:System.String" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredTextWriter.#ctor">
      <summary>
            Creates a structured text writer.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredTextWriter.ToString">
      <summary>
            Returns the structured text formatted as a string.
            </summary>
      <returns>The structured text as a string.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredTextWriter.ToStructuredText">
      <summary>
            Gets the structured text produced so far.
            </summary>
      <returns>The structured text.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.StructuredTextWriter.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the object to a markup stream.
            </summary>
      <param name="writer">The markup stream.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.TextAttachment">
      <summary>
            Represents a text-encoded attachment.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.TextAttachment.#ctor(System.String,System.String,System.String)">
      <summary>
            Creates an attachment.
            </summary>
      <param name="name">The attachment name, or null to automatically assign one.</param>
      <param name="contentType">The content type, not null.</param>
      <param name="text">The text string, not null.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="contentType" /> or <paramref name="text" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.TextAttachment.Equals(Gallio.Common.Markup.TextAttachment)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.TextAttachment.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.TextAttachment.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.TextAttachment.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Common.Markup.TextAttachment.Text">
      <summary>
            Gets the text of the attachment, not null.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.TextAttachment.ToAttachmentData">
      <summary>
            Generates serializable attachment data from an attachment.
            </summary>
      <returns>The attachment data.</returns>
    </member>
    <member name="T:Gallio.Common.Markup.TextualMarkupDocumentWriter">
      <summary>
            An implementation of <see cref="T:Gallio.Common.Markup.MarkupDocumentWriter" /> that represents the test log as
            text written to a <see cref="T:System.IO.TextWriter" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.#ctor(System.IO.TextWriter,System.Boolean)">
      <summary>
            Creates a textual markup document writer.
            </summary>
      <param name="writer">The text writer to write to.</param>
      <param name="verbose">If true, prints detailed information about the location of
            attachments, sections, and markers, otherwise discards these formatting details
            and prints section headers as text on their own line.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.AttachImpl(Gallio.Common.Markup.Attachment)">
      <summary>
            Adds an attachment to the markup document.
            </summary>
      <param name="attachment">The attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.StreamBeginMarkerImpl(System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="marker">The marker.</param>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.StreamBeginSectionImpl(System.String,System.String)">
      <summary>
            Begins a section in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="sectionName">The name of the section to begin, never null.</param>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.StreamEmbedImpl(System.String,System.String)">
      <summary>
            Embeds an attachment into a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="attachmentName">The name of the attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.StreamEndImpl(System.String)">
      <summary>
            Ends the current region started with one of the Begin* methods in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.TextualMarkupDocumentWriter.StreamWriteImpl(System.String,System.String)">
      <summary>
            Writes a text string to a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="text">The text to write, never null.</param>
    </member>
    <member name="P:Gallio.Common.Markup.TextualMarkupDocumentWriter.Verbose">
      <summary>
            Returns true if the verbose print mode is enabled.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.TextualMarkupDocumentWriter.Writer">
      <summary>
            Gets the underlying text writer.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.BaseTagVisitor">
      <summary>
            An abstract base class for tag visitors that recursively traverses all tags
            and does nothing else by default.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BaseTagVisitor.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Markup.Tags.BaseTagVisitor" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BaseTagVisitor.VisitBodyTag(Gallio.Common.Markup.Tags.BodyTag)">
      <summary>
            Visits a body tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BaseTagVisitor.VisitEmbedTag(Gallio.Common.Markup.Tags.EmbedTag)">
      <summary>
            Visits an embedded attachment tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BaseTagVisitor.VisitMarkerTag(Gallio.Common.Markup.Tags.MarkerTag)">
      <summary>
            Visits a marker tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BaseTagVisitor.VisitSectionTag(Gallio.Common.Markup.Tags.SectionTag)">
      <summary>
            Visits a section tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BaseTagVisitor.VisitTextTag(Gallio.Common.Markup.Tags.TextTag)">
      <summary>
            Visits a text tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.BodyTag">
      <summary>
            The top-level container tag of markup.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BodyTag.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Markup.Tags.BodyTag" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BodyTag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BodyTag.Equals(Gallio.Common.Markup.Tags.BodyTag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BodyTag.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.BodyTag.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.ContainerTag">
      <summary>
            An abstract container tag for representing tags that can contain other tags.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ContainerTag.#ctor">
      <summary>
            Creates an empty container tag.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ContainerTag.AcceptContents(Gallio.Common.Markup.Tags.ITagVisitor)">
      <summary>
            Invokes the appropriate visitor method each element contained within this tag.
            </summary>
      <param name="visitor">The visitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="visitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ContainerTag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.ContainerTag.Contents">
      <summary>
            Gets the list of nested contents of this tag.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ContainerTag.Equals(Gallio.Common.Markup.Tags.ContainerTag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.EmbedTag">
      <summary>
            An embedded attachment tag.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.EmbedTag.#ctor(System.String)">
      <summary>
            Creates an initialized tag.
            </summary>
      <param name="attachmentName">The name of the attachment to embed.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachmentName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.EmbedTag.AttachmentName">
      <summary>
            Gets or sets the name of the referenced attachment to embed, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.EmbedTag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.EmbedTag.Equals(Gallio.Common.Markup.Tags.EmbedTag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.EmbedTag.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.EmbedTag.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.ITagVisitor">
      <summary>
            Visits a <see cref="T:Gallio.Common.Markup.Tags.Tag" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ITagVisitor.VisitBodyTag(Gallio.Common.Markup.Tags.BodyTag)">
      <summary>
            Visits a body tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ITagVisitor.VisitEmbedTag(Gallio.Common.Markup.Tags.EmbedTag)">
      <summary>
            Visits an embedded attachment tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ITagVisitor.VisitMarkerTag(Gallio.Common.Markup.Tags.MarkerTag)">
      <summary>
            Visits a marker tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ITagVisitor.VisitSectionTag(Gallio.Common.Markup.Tags.SectionTag)">
      <summary>
            Visits a section tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.ITagVisitor.VisitTextTag(Gallio.Common.Markup.Tags.TextTag)">
      <summary>
            Visits a text tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.MarkerTag">
      <summary>
            A marker tag.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.MarkerTag.#ctor(Gallio.Common.Markup.Marker)">
      <summary>
            Creates an initialized tag.
            </summary>
      <param name="marker">The marker.</param>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.MarkerTag.Attributes">
      <summary>
            Gets the list of marker attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.MarkerTag.Class">
      <summary>
            Gets or sets the marker class, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the <paramref name="value" /> is not a valid identifier.
            <seealso cref="M:Gallio.Common.Markup.Marker.ValidateIdentifier(System.String)" />.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.MarkerTag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.MarkerTag.Equals(Gallio.Common.Markup.Tags.MarkerTag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.MarkerTag.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.MarkerTag.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.MarkerTag.Marker">
      <summary>
            Gets the marker.
            </summary>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.MarkerTag.Attribute">
      <summary>
            Represents a marker attribute.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.MarkerTag.Attribute.#ctor(System.String,System.String)">
      <summary>
            Creates an initialized attribute.
            </summary>
      <param name="name">The attribute name.</param>
      <param name="value">The attribute value.</param>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" />
            is invalid.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.MarkerTag.Attribute.Name">
      <summary>
            Gets or sets the attribute name, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the <paramref name="value" /> is not a valid identifier.</exception>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.MarkerTag.Attribute.Value">
      <summary>
            Gets or sets the attribute value, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.SectionTag">
      <summary>
            A section tag.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.SectionTag.#ctor(System.String)">
      <summary>
            Creates an initialized tag.
            </summary>
      <param name="name">The section name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.SectionTag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.SectionTag.Equals(Gallio.Common.Markup.Tags.SectionTag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.SectionTag.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.SectionTag.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.SectionTag.Name">
      <summary>
            Gets or sets the section name, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.Tag">
      <summary>
            A tag is the fundamental unit of content within a markup stream.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.Tag.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Markup.Tags.Tag" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.Tag.Accept(Gallio.Common.Markup.Tags.ITagVisitor)">
      <summary>
            Invokes the appropriate visitor method for this tag type.
            </summary>
      <param name="visitor">The visitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="visitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.Tag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.Tag.Equals(Gallio.Common.Markup.Tags.Tag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.Tag.ToString">
      <summary>
            Formats the tag using a <see cref="T:Gallio.Common.Markup.Tags.TagFormatter" />.
            </summary>
      <returns>The formatted text.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.Tag.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the tag to a <see cref="T:Gallio.Common.Markup.MarkupStreamWriter" />.
            </summary>
      <param name="writer">The markup stream writer.</param>
      <exception cref="T:System.ArgumentNullException">Throw if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.TagFormatter">
      <summary>
        <para>
            Formats <see cref="T:Gallio.Common.Markup.Tags.Tag" /> instances to plain text.
            </para>
        <para>
            Text tags are written as-is.  Sections introduce paragraph breaks with
            the header written out as the first line.  Embedded attachments are
            described by name.
            </para>
      </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Markup.Tags.TagFormatter" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.Append(System.String)">
      <summary>
            Appends text to the buffer including any requested spacing.
            </summary>
      <param name="text">The text to append.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.RequestMinimumSpacing(System.Int32)">
      <summary>
            Ensures that the next chunk of text appended is separated by at least the specified
            number of line breaks.
            </summary>
      <param name="spacing">The minimum number of line breaks to insert.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.ToString">
      <summary>
            Gets the formatted text that has been built.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.VisitBodyTag(Gallio.Common.Markup.Tags.BodyTag)">
      <summary>
            Visits a body tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.VisitEmbedTag(Gallio.Common.Markup.Tags.EmbedTag)">
      <summary>
            Visits an embedded attachment tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.VisitMarkerTag(Gallio.Common.Markup.Tags.MarkerTag)">
      <summary>
            Visits a marker tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.VisitSectionTag(Gallio.Common.Markup.Tags.SectionTag)">
      <summary>
            Visits a section tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TagFormatter.VisitTextTag(Gallio.Common.Markup.Tags.TextTag)">
      <summary>
            Visits a text tag.
            </summary>
      <param name="tag">The tag to visit.</param>
    </member>
    <member name="T:Gallio.Common.Markup.Tags.TextTag">
      <summary>
            A text tag, containing text.
            </summary>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TextTag.#ctor(System.String)">
      <summary>
            Creates an initialized text tag.
            </summary>
      <param name="text">The text within the tag.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TextTag.Clone">
      <summary>
            Clones the object.
            </summary>
      <returns>The cloned object.</returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TextTag.Equals(Gallio.Common.Markup.Tags.TextTag)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TextTag.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TextTag.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="M:Gallio.Common.Markup.Tags.TextTag.ProvideXmlSchema(System.Xml.Schema.XmlSchemaSet)">
      <summary>
            Provides the Xml schema for this element.
            </summary>
      <param name="schemas">The schema set.</param>
      <returns>The schema type of the element.</returns>
    </member>
    <member name="P:Gallio.Common.Markup.Tags.TextTag.Text">
      <summary>
            Gets or sets the text within the tag, not null.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Media.BitmapVideoFrame">
      <summary>
            A video frame that consists of a bitmap.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.BitmapVideoFrame.#ctor(System.Drawing.Bitmap)">
      <summary>
            Creates a bitmap video frame.
            </summary>
      <param name="bitmap">The bitmap.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="bitmap" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Media.BitmapVideoFrame.Bitmap">
      <summary>
            Gets the bitmap.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.BitmapVideoFrame.CopyPixelsImpl(System.Drawing.Rectangle,System.Int32[],System.Int32,System.Int32)">
      <summary>
            Copies pixels from the frame into a buffer.
            </summary>
      <param name="sourceRect">The source rectangle of pixels to copy.</param>
      <param name="pixelBuffer">The buffer into which to copy the pixels as 32bit RGB with the upper 8 bits zeroed out.</param>
      <param name="startOffset">The start offset where the first pixel should be written.</param>
      <param name="stride">The incremental offset between subsequent rows of pixels.</param>
    </member>
    <member name="P:Gallio.Common.Media.BitmapVideoFrame.Height">
      <summary>
            Gets the height of the video frame.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.BitmapVideoFrame.Width">
      <summary>
            Gets the width of the video frame.
            </summary>
    </member>
    <member name="T:Gallio.Common.Media.CaptionOverlay">
      <summary>
            Displays a caption overlayed on top of an image.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.CaptionOverlay.#ctor">
      <summary>
            Creates a caption overlay.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.CaptionOverlay.FontSize">
      <summary>
            Gets or sets the font size.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is less than 1.</exception>
    </member>
    <member name="P:Gallio.Common.Media.CaptionOverlay.HorizontalAlignment">
      <summary>
            Gets or sets the horizontal alignment.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.CaptionOverlay.PaintImpl(Gallio.Common.Media.OverlayPaintRequest)">
      <summary>
            Paints the overlay.
            </summary>
      <param name="request">The paint request, not null.</param>
    </member>
    <member name="P:Gallio.Common.Media.CaptionOverlay.Text">
      <summary>
            Gets or sets the text of the caption.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Media.CaptionOverlay.VerticalAlignment">
      <summary>
            Gets or sets the vertical alignment.
            </summary>
    </member>
    <member name="T:Gallio.Common.Media.CaptureParameters">
      <summary>
            Specifies parameters for screenshot captures.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.CaptureParameters.#ctor">
      <summary>
            Creates a capture parameters object.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.CaptureParameters.Zoom">
      <summary>
            Gets or sets the zoom factor.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is less than 1/16 or more than 16.</exception>
    </member>
    <member name="T:Gallio.Common.Media.FlashScreenVideo">
      <summary>
            Encodes video frames as FLV files using the Flash ScreenVideo lossless video codec.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.FlashScreenVideo.#ctor(Gallio.Common.Media.FlashScreenVideoParameters)">
      <summary>
            Creates a new Flash screen video.
            </summary>
      <param name="parameters">The video parameters.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.FlashScreenVideo.AddFrameImpl(Gallio.Common.Media.VideoFrame)">
      <summary>
            Adds a frame to the video.
            </summary>
      <param name="frame">The video frame to add, not null.</param>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideo.FrameCount">
      <summary>
            Gets the number of frames currently in the video.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideo.MimeType">
      <summary>
            Gets the mime-type of the video format.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideo.Parameters">
      <summary>
            Gets the video parameters.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.FlashScreenVideo.SaveImpl(System.IO.Stream)">
      <summary>
            Saves the video to a stream.
            </summary>
      <param name="stream">The stream, not null.</param>
    </member>
    <member name="T:Gallio.Common.Media.FlashScreenVideoParameters">
      <summary>
            Specifies the parameters for a Flash screen video.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.FlashScreenVideoParameters.#ctor(System.Int32,System.Int32,System.Double)">
      <summary>
            Creates a Flash video parameters object.
            </summary>
      <param name="width">The video width.</param>
      <param name="height">The video height.</param>
      <param name="framesPerSecond">The number of frames per second.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="width" /> or <paramref name="height" />
            are not between 1 and 4095 or if <paramref name="framesPerSecond" /> is not greater than zero.</exception>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideoParameters.BlockHeight">
      <summary>
            Gets or sets the height of each block to be compressed.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is invalid.</exception>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideoParameters.BlockWidth">
      <summary>
            Gets or sets the width of each block to be compressed.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is invalid.</exception>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideoParameters.CompressionLevel">
      <summary>
            Gets or sets the ZLib compression level.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is invalid.</exception>
    </member>
    <member name="P:Gallio.Common.Media.FlashScreenVideoParameters.KeyFramePeriod">
      <summary>
            Gets the interval between successive key frames.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is negative.</exception>
    </member>
    <member name="T:Gallio.Common.Media.HorizontalAlignment">
      <summary>
            Specifies the horizontal alignment of a caption.
            </summary>
    </member>
    <member name="F:Gallio.Common.Media.HorizontalAlignment.Left">
      <summary>
            Specifies left alignment.
            </summary>
    </member>
    <member name="F:Gallio.Common.Media.HorizontalAlignment.Center">
      <summary>
            Specifies horizontal alignment.
            </summary>
    </member>
    <member name="F:Gallio.Common.Media.HorizontalAlignment.Right">
      <summary>
            Specifies right alignment.
            </summary>
    </member>
    <member name="T:Gallio.Common.Media.MediaException">
      <summary>
            An exception that expresses a problem performing a media operation.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.MediaException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.MediaException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Media.MediaException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Media.MediaException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Media.Overlay">
      <summary>
            Abstract base class for video overlays.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.Overlay.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Media.Overlay" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Media.Overlay.Paint(Gallio.Common.Media.OverlayPaintRequest)">
      <summary>
            Paints the overlay.
            </summary>
      <param name="request">The paint request.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.Overlay.PaintImpl(Gallio.Common.Media.OverlayPaintRequest)">
      <summary>
            Paints the overlay.
            </summary>
      <param name="request">The paint request, not null.</param>
    </member>
    <member name="T:Gallio.Common.Media.OverlayManager">
      <summary>
            Manages video source overlays.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.OverlayManager.#ctor">
      <summary>
            Creates an overlay manager with no overlays.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.OverlayManager.AddOverlay(Gallio.Common.Media.Overlay)">
      <summary>
            Adds an overlay.
            </summary>
      <param name="overlay">The overlay to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="overlay" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Media.OverlayManager.Overlays">
      <summary>
            Gets the read-only list of registered overlays.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.OverlayManager.PaintOverlays(Gallio.Common.Media.OverlayPaintRequest)">
      <summary>
            Asks all overlays to paint themselves.
            </summary>
      <param name="request">The paint request.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.OverlayManager.PaintOverlaysOnImage(System.Drawing.Image,System.Int32,System.Double)">
      <summary>
            Asks all overlays to paint themselves over the specified image.
            </summary>
      <param name="image">The image to paint on.</param>
      <param name="frameNumber">The frame number as in <see cref="P:Gallio.Common.Media.OverlayPaintRequest.FrameNumber" />.</param>
      <param name="framesPerSecond">The number of frames per second as in <see cref="P:Gallio.Common.Media.OverlayPaintRequest.FramesPerSecond" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="image" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.OverlayManager.RemoveOverlay(Gallio.Common.Media.Overlay)">
      <summary>
            Removes an overlay.
            </summary>
      <param name="overlay">The overlay to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="overlay" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.OverlayManager.ToOverlay">
      <summary>
            Returns a wrapper for the overlay manager as a composite overlay.
            </summary>
      <returns>The composite overlay.</returns>
    </member>
    <member name="T:Gallio.Common.Media.OverlayPaintRequest">
      <summary>
            Describes a request to paint overlays.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.OverlayPaintRequest.#ctor(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.Double)">
      <summary>
            Creates an overlay paint request.
            </summary>
      <param name="graphics">The graphics object to use for painting the overlay.</param>
      <param name="frameBounds">The bounds of the frame that is being rendered into the graphics context.</param>
      <param name="frameNumber">The zero-based monotonically increasing number of the frame that is being rendered.</param>
      <param name="framesPerSecond">The frame rate expressed as the number of frames per second, or zero if the frame is static.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="graphics" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Media.OverlayPaintRequest.FrameNumber">
      <summary>
            Gets the zero-based monotonically increasing number of the frame that is being rendered.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.OverlayPaintRequest.FramesBounds">
      <summary>
            Gets the bounds of the frame that is being rendered into the graphics context.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.OverlayPaintRequest.FramesPerSecond">
      <summary>
            Gets the frame rate expressed as the number of frames per second, or zero if the frame is static.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.OverlayPaintRequest.Graphics">
      <summary>
            Gets the graphics object to use for painting the overlay.
            </summary>
    </member>
    <member name="T:Gallio.Common.Media.ScreenGrabber">
      <summary>
            Grabs screenshots.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.#ctor(Gallio.Common.Media.CaptureParameters)">
      <summary>
            Creates a screen grabber.
            </summary>
      <param name="parameters">The capture parameters.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.CanCaptureScreenshot">
      <summary>
            Returns true if screenshots can be captured.
            </summary>
      <returns>True if the screen can be captured.</returns>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.CaptureScreenshot(System.Drawing.Bitmap)">
      <summary>
            Captures a screenshot.
            </summary>
      <param name="bitmap">If not null writes the screenshot into the specified bitmap,
            otherwise creates and returns a new bitmap.</param>
      <returns>The screenshot.</returns>
      <exception cref="T:System.ArgumentException">Thrown if the provided <paramref name="bitmap" /> is
            not of the expected size.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
      <exception cref="T:Gallio.Common.Media.ScreenshotNotAvailableException">Thrown if a screenshot cannot be captured at this time.</exception>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.Dispose">
      <summary>
            Disposes the screen grabber.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.Dispose(System.Boolean)">
      <summary>
            Disposes the screen grabber.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Common.Media.ScreenGrabber.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.GetScreenSize">
      <summary>
            Gets the size of the screen.
            </summary>
      <returns>The screen size.</returns>
    </member>
    <member name="P:Gallio.Common.Media.ScreenGrabber.OverlayManager">
      <summary>
            Gets the overlay manager.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.PaintOverlays(System.Drawing.Bitmap)">
      <summary>
            Paints overlays onto a bitmap.
            </summary>
      <param name="bitmap">The bitmap, not null.</param>
    </member>
    <member name="P:Gallio.Common.Media.ScreenGrabber.Parameters">
      <summary>
            Gets the capture parameters.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="P:Gallio.Common.Media.ScreenGrabber.ScreenshotHeight">
      <summary>
            Gets the width of the screenshots that will be taken.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="P:Gallio.Common.Media.ScreenGrabber.ScreenshotWidth">
      <summary>
            Gets the width of the screenshots that will be taken.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.ThrowIfDisposed">
      <summary>
            Throws <see cref="T:System.ObjectDisposedException" /> if the object has been disposed.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenGrabber.ThrowIfScreenshotNotAvailable">
      <summary>
            Throws an exception if a screenshot cannot be captured at this time.
            </summary>
      <exception cref="T:Gallio.Common.Media.ScreenshotNotAvailableException">Thrown if a screenshot cannot be captured at this time.</exception>
    </member>
    <member name="T:Gallio.Common.Media.ScreenRecorder">
      <summary>
            Records screenshots as a video.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.#ctor(Gallio.Common.Media.ScreenGrabber,Gallio.Common.Media.Video)">
      <summary>
            Creates a screen recorder.
            </summary>
      <param name="grabber">The screen grabber.</param>
      <param name="video">The video to which frames are to be added.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="grabber" /> or
            <paramref name="video" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="video" /> size
            is not exactly equal to the <paramref name="grabber" /> screenshot size.</exception>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.AddFrame(System.Drawing.Bitmap)">
      <summary>
            Adds a captured screenshot to the video.
            </summary>
      <param name="bitmap">The bitmap, not null.</param>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.Dispose">
      <summary>
            Disposes the screen recorder.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.Dispose(System.Boolean)">
      <summary>
            Disposes the screen recorder.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Common.Media.ScreenRecorder.Dispose" /> was called directly.</param>
    </member>
    <member name="P:Gallio.Common.Media.ScreenRecorder.FrameNumber">
      <summary>
            Gets the current frame number.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.ScreenRecorder.FramesPerSecond">
      <summary>
            Gets the number of frames per second.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.ScreenRecorder.Grabber">
      <summary>
            Gets the screen grabber in use.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="P:Gallio.Common.Media.ScreenRecorder.OverlayManager">
      <summary>
            Gets the overlay manager.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.PaintOverlays(System.Drawing.Bitmap)">
      <summary>
            Paints overlays onto a bitmap.
            </summary>
      <param name="bitmap">The bitmap, not null.</param>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.Start">
      <summary>
            Starts or resumes recording.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.Stop">
      <summary>
            Stops recorded.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="M:Gallio.Common.Media.ScreenRecorder.ThrowIfDisposed">
      <summary>
            Throws <see cref="T:System.ObjectDisposedException" /> if the object has been disposed.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.ScreenRecorder.Video">
      <summary>
            Gets the video being recorded.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the object has been disposed.</exception>
    </member>
    <member name="T:Gallio.Common.Media.ScreenshotNotAvailableException">
      <summary>
            An exception that is thrown when screenshots cannot be captured.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenshotNotAvailableException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.ScreenshotNotAvailableException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Media.ScreenshotNotAvailableException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Media.ScreenshotNotAvailableException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Media.VerticalAlignment">
      <summary>
            Specifies the vertical alignment of a caption.
            </summary>
    </member>
    <member name="F:Gallio.Common.Media.VerticalAlignment.Top">
      <summary>
            Specifies top alignment.
            </summary>
    </member>
    <member name="F:Gallio.Common.Media.VerticalAlignment.Middle">
      <summary>
            Specifies middle alignment.
            </summary>
    </member>
    <member name="F:Gallio.Common.Media.VerticalAlignment.Bottom">
      <summary>
            Specifies bottom alignment.
            </summary>
    </member>
    <member name="T:Gallio.Common.Media.Video">
      <summary>
            A video is an abstraction of an encoded video stream (possibly incorporating audio).
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.Video.#ctor(Gallio.Common.Media.VideoParameters)">
      <summary>
            Creates a new video.
            </summary>
      <param name="parameters">The video parameters.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.Video.AddFrame(Gallio.Common.Media.VideoFrame)">
      <summary>
            Adds a frame to the video.
            </summary>
      <param name="frame">The video frame to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="frame" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the <paramref name="frame" /> dimensions are not
            exactly equal to those of the video.</exception>
    </member>
    <member name="M:Gallio.Common.Media.Video.AddFrameImpl(Gallio.Common.Media.VideoFrame)">
      <summary>
            Adds a frame to the video.
            </summary>
      <param name="frame">The video frame to add, not null.</param>
    </member>
    <member name="P:Gallio.Common.Media.Video.FrameCount">
      <summary>
            Gets the number of frames currently in the video.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.Video.MimeType">
      <summary>
            Gets the mime-type of the video format.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.Video.Parameters">
      <summary>
            Gets the video parameters.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.Video.Save(System.IO.Stream)">
      <summary>
            Saves the video to a stream.
            </summary>
      <param name="stream">The stream.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Media.Video.SaveImpl(System.IO.Stream)">
      <summary>
            Saves the video to a stream.
            </summary>
      <param name="stream">The stream, not null.</param>
    </member>
    <member name="T:Gallio.Common.Media.VideoFrame">
      <summary>
            Represents a single frame of video content.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.VideoFrame.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Media.VideoFrame" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Media.VideoFrame.CopyPixels(System.Drawing.Rectangle,System.Int32[],System.Int32,System.Int32)">
      <summary>
            Copies pixels from the frame into a buffer.
            </summary>
      <param name="sourceRect">The source rectangle of pixels to copy.</param>
      <param name="pixelBuffer">The buffer into which to copy the pixels as 32bit RGB with the upper 8 bits zeroed out.</param>
      <param name="startOffset">The start offset where the first pixel should be written.</param>
      <param name="stride">The incremental offset between subsequent rows of pixels.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pixelBuffer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if the <paramref name="sourceRect" /> components,
            <paramref name="startOffset" /> or <paramref name="stride" /> are negative or if they would cause pixels
            to be written outside the bounds of the pixel buffer.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if the <paramref name="sourceRect" /> components
            are negative, <paramref name="startOffset" /> is outside the bounds of the pixel buffer, or <paramref name="stride" />
            is less than the width of the rectange.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the combined <paramref name="sourceRect" /> dimensions,
            <paramref name="startOffset" /> and <paramref name="stride" /> would cause pixels to be written out
            of bounds of the pixel buffer.</exception>
    </member>
    <member name="M:Gallio.Common.Media.VideoFrame.CopyPixelsImpl(System.Drawing.Rectangle,System.Int32[],System.Int32,System.Int32)">
      <summary>
            Copies pixels from the frame into a buffer.
            </summary>
      <param name="sourceRect">The source rectangle of pixels to copy.</param>
      <param name="pixelBuffer">The buffer into which to copy the pixels as 32bit RGB with the upper 8 bits zeroed out.</param>
      <param name="startOffset">The start offset where the first pixel should be written.</param>
      <param name="stride">The incremental offset between subsequent rows of pixels.</param>
    </member>
    <member name="P:Gallio.Common.Media.VideoFrame.Height">
      <summary>
            Gets the height of the video frame.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.VideoFrame.Width">
      <summary>
            Gets the width of the video frame.
            </summary>
    </member>
    <member name="T:Gallio.Common.Media.VideoParameters">
      <summary>
            Specifies the parameters for a video.
            </summary>
    </member>
    <member name="M:Gallio.Common.Media.VideoParameters.#ctor(System.Int32,System.Int32,System.Double)">
      <summary>
            Creates a video parameters object.
            </summary>
      <param name="width">The width of the video.</param>
      <param name="height">The height of the video.</param>
      <param name="framesPerSecond">The number of frames per second of the video.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="width" /> or <paramref name="height" />,
            or <paramref name="framesPerSecond" /> are zero or negative.</exception>
    </member>
    <member name="P:Gallio.Common.Media.VideoParameters.FramesPerSecond">
      <summary>
            Gets the number of frames per second of the video.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.VideoParameters.Height">
      <summary>
            Gets the height of the video.
            </summary>
    </member>
    <member name="P:Gallio.Common.Media.VideoParameters.Width">
      <summary>
            Gets the width of the video.
            </summary>
    </member>
    <member name="T:Gallio.Common.Messaging.IMessageExchangeLink">
      <summary>
            An interface implemented by the server and registered on the server remoting channel
            to allow message exchange with the client.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.IMessageExchangeLink.Receive(System.TimeSpan)">
      <summary>
            Gets the next message.
            </summary>
      <param name="timeout">The maximum amount of time to wait for a message.</param>
      <returns>The next message, or null if a timeout occurred.</returns>
    </member>
    <member name="M:Gallio.Common.Messaging.IMessageExchangeLink.Send(Gallio.Common.Messaging.Message)">
      <summary>
            Sends a message.
            </summary>
      <param name="message">The message to send.</param>
    </member>
    <member name="T:Gallio.Common.Messaging.IMessageSink">
      <summary>
            Publishes messages directly to a subscriber.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.IMessageSink.Publish(Gallio.Common.Messaging.Message)">
      <summary>
            Publishes a message.
            </summary>
      <param name="message">The message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if <paramref name="message" /> is not valid.</exception>
    </member>
    <member name="T:Gallio.Common.Messaging.Message">
      <summary>
            Base class for all message objects.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.Message.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Messaging.Message" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Messaging.Message.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Common.Messaging.Message.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Common.Messaging.MessageConsumer">
      <summary>
            A message consumer provides a simple pattern for handling messages based on their type.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageConsumer.#ctor">
      <summary>
            Creates a new message consumer with no handler clauses.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageConsumer.Consume(Gallio.Common.Messaging.Message)">
      <summary>
            Consumes a message.
            </summary>
      <param name="message">The message to consume.</param>
      <returns>True if the message was consumed by a handler, false if no handler could consume it.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if <paramref name="message" /> is not valid.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageConsumer.Handle``1(System.Action{``0})">
      <summary>
            Adds a handler for a particular message type.
            </summary>
      <param name="handlerAction">The message handler action.</param>
      <typeparam name="TMessage">The message type.</typeparam>
      <returns>The message consumer.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handlerAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageConsumer.Otherwise(System.Action{Gallio.Common.Messaging.Message})">
      <summary>
            Adds a catch-all handler.
            </summary>
      <param name="handlerAction">The message handler action.</param>
      <returns>The message consumer.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handlerAction" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Messaging.MessageExchange">
      <summary>
            A message exchange mediates interactions between a server and a client.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageExchange.#ctor(Gallio.Common.Messaging.IMessageSink)">
      <summary>
            Creates a message exchange.
            </summary>
      <param name="messageSink">The message sink to which messages sent by the client should
            be directed.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="messageSink" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageExchange.GetClientLink">
      <summary>
            Gets an interface that a client can use to asynchronously receive and
            synchronously send messages.
            </summary>
      <returns>The client link.</returns>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageExchange.Publish(Gallio.Common.Messaging.Message)">
      <summary>
            Sends a message to the client.
            </summary>
      <param name="message">The message to send.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if <paramref name="message" /> is not valid.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.MessageExchange.WaitForPublishedMessagesToBeReceived(System.TimeSpan)">
      <summary>
            Waits for all published messages to be received by the client.
            </summary>
      <param name="timeout">The timeout.</param>
      <returns>True if all messages were received, false if a timeout occurred.</returns>
    </member>
    <member name="T:Gallio.Common.Messaging.MessagingException">
      <summary>
            An exception thrown during a messaging failure.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.MessagingException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.MessagingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Messaging.MessagingException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Messaging.MessagingException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Messaging.NullMessageSink">
      <summary>
            A null message sink discards all messages sent to it.
            </summary>
    </member>
    <member name="F:Gallio.Common.Messaging.NullMessageSink.Instance">
      <summary>
            Gets the singleton instance of the null message sink.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.NullMessageSink.Publish(Gallio.Common.Messaging.Message)">
      <summary>
            Publishes a message.
            </summary>
      <param name="message">The message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if <paramref name="message" /> is not valid.</exception>
    </member>
    <member name="T:Gallio.Common.Messaging.QueuedMessageSink">
      <summary>
            Wraps a <see cref="T:Gallio.Common.Messaging.IMessageSink" /> and queues messages so that messages are
            published asynchronously.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.QueuedMessageSink.#ctor(Gallio.Common.Messaging.IMessageSink)">
      <summary>
            Creates a queued message sink.
            </summary>
      <param name="messageSink">The message sink to wrap.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="messageSink" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.QueuedMessageSink.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.QueuedMessageSink.Flush">
      <summary>
            Flushes the queue.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.QueuedMessageSink.Publish(Gallio.Common.Messaging.Message)">
      <summary>
            Publishes a message.
            </summary>
      <param name="message">The message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if <paramref name="message" /> is not valid.</exception>
    </member>
    <member name="T:Gallio.Common.Messaging.RemoteMessageSink">
      <summary>
            Wraps a <see cref="T:Gallio.Common.Messaging.IMessageSink" /> so that messages can be sent remotely.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.RemoteMessageSink.#ctor(Gallio.Common.Messaging.IMessageSink)">
      <summary>
            Creates a remote message sink.
            </summary>
      <param name="messageSink">The message sink to wrap.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="messageSink" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.RemoteMessageSink.Publish(Gallio.Common.Messaging.Message)">
      <summary>
            Publishes a message.
            </summary>
      <param name="message">The message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if <paramref name="message" /> is not valid.</exception>
    </member>
    <member name="T:Gallio.Common.Messaging.Topic">
      <summary>
            Specifies a topic key routing published messages to their subscribers.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.Topic.#ctor(System.String)">
      <summary>
            Creates a topic with a given key.
            </summary>
      <param name="key">The topic key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="key" /> is not a valid topic.</exception>
    </member>
    <member name="P:Gallio.Common.Messaging.Topic.Key">
      <summary>
            Gets the complete topic key.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.Topic.ToString">
      <summary>
            Returns the topic key.
            </summary>
      <returns>The topic key.</returns>
    </member>
    <member name="T:Gallio.Common.Messaging.TopicPattern">
      <summary>
            A topic pattern expresses a simple matching rule for topics.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.TopicPattern.#ctor(System.String)">
      <summary>
            Creates a topic pattern.
            </summary>
      <param name="pattern">The topic pattern string.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pattern" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Messaging.TopicPattern.IsMatch(Gallio.Common.Messaging.Topic)">
      <summary>
            Returns true if this pattern matches the specified topic.
            </summary>
      <param name="topic">The topic to consider.</param>
      <returns>True if this pattern matches the specified topic.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="topic" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Messaging.TopicPattern.Pattern">
      <summary>
            Gets the topic pattern string.
            </summary>
    </member>
    <member name="M:Gallio.Common.Messaging.TopicPattern.ToString">
      <summary>
            Returns the topic pattern string.
            </summary>
      <returns>The topic pattern string.</returns>
    </member>
    <member name="T:Gallio.Common.Normalization.INormalizable`1">
      <summary>
            Provides a method that may be called by client code to obtain a normalized
            copy of an object.
            </summary>
      <typeparam name="T">The object type.</typeparam>
    </member>
    <member name="M:Gallio.Common.Normalization.INormalizable`1.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="T:Gallio.Common.Normalization.NormalizationUtils">
      <summary>
            Normalization utilities.
            </summary>
    </member>
    <member name="M:Gallio.Common.Normalization.NormalizationUtils.NormalizeCollection``2(``0,Gallio.Common.Func{``0},Gallio.Common.Func{``1,``1},Gallio.Common.EqualityComparison{``1})">
      <summary>
            Normalizes a collection of normalizable values.
            </summary>
      <param name="collection">The collection of values to normalize, or null if none.</param>
      <param name="collectionFactory">The factory to use to create a new collection if needed.</param>
      <param name="normalize">The normalization function to apply to each value in the collection.</param>
      <param name="compare">The comparer to compare normalized values to determine if a change occurred during normalization.</param>
      <typeparam name="TCollection">The type of the collection.</typeparam>
      <typeparam name="T">The type of the values in the collection.</typeparam>
      <returns>The normalized collection, or null if none.  The result will
            be the same instance as <paramref name="collection" /> if it was already normalized.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="collectionFactory" />,
            <paramref name="normalize" /> or <paramref name="compare" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Normalization.NormalizationUtils.NormalizeName(System.String)">
      <summary>
            Normalizes a name by replacing characters that are not printable with a '?'.
            </summary>
      <param name="name">The name to normalize, or null if none.</param>
      <returns>The normalized name, or null if <paramref name="name" /> was null.  The result will
            be the same instance as <paramref name="name" /> if it was already normalized.</returns>
    </member>
    <member name="M:Gallio.Common.Normalization.NormalizationUtils.NormalizePrintableASCII(System.String)">
      <summary>
            Normalizes a name by replacing characters that are not printable ASCII with '?'.
            </summary>
      <param name="str">The string to normalize, or null if none.</param>
      <returns>The normalized string, or null if <paramref name="str" /> was null.  The result will
            be the same instance as <paramref name="str" /> if it was already normalized.</returns>
    </member>
    <member name="M:Gallio.Common.Normalization.NormalizationUtils.NormalizeString(System.String,System.Predicate{System.Int32},System.Converter{System.Int32,System.String})">
      <summary>
            Normalizes a string.
            </summary>
      <param name="str">The string to normalize, or null if none.</param>
      <param name="valid">The predicate to determine whether a character is valid.
            If the character consists of a surrogate pair, then the parameter will be
            its UTF32 value.</param>
      <param name="replace">The converter to provide a replacement for an invalid character.
            If the character consists of a surrogate pair, then the parameters will be
            its UTF32 value.</param>
      <returns>The normalized text, or null if <paramref name="str" /> was null.  The result will
            be the same instance as <paramref name="str" /> if it was already normalized.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="valid" />
            or <paramref name="replace" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Normalization.NormalizationUtils.NormalizeXmlText(System.String)">
      <summary>
            Normalizes Xml text.
            </summary>
      <param name="text">The Xml text to normalize, or null if none.</param>
      <returns>The normalized Xml text, or null if <paramref name="text" /> was null.  The result will
            be the same instance as <paramref name="text" /> if it was already normalized.</returns>
    </member>
    <member name="T:Gallio.Common.Platform.DotNetFrameworkSupport">
      <summary>
            Provides support for working with different versions of the .Net framework.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetFrameworkSupport.FrameworkVersion">
      <summary>
            Gets the .Net framework version installed and currently running.
            </summary>
      <returns>The framework version.</returns>
    </member>
    <member name="T:Gallio.Common.Platform.DotNetFrameworkVersion">
      <summary>
            Specifies the version of the .Net framework.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.DotNetFrameworkVersion.DotNet20">
      <summary>
            .Net Framework 2.0.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.DotNetFrameworkVersion.DotNet30">
      <summary>
            .Net Framework 3.0.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.DotNetFrameworkVersion.DotNet35">
      <summary>
            .Net Framework 3.5.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.DotNetFrameworkVersion.DotNet40">
      <summary>
            .Net Framework 4.0.
            </summary>
    </member>
    <member name="T:Gallio.Common.Platform.DotNetRuntimeSupport">
      <summary>
            Provides support for working with different implementations of the .Net runtime.
            </summary>
    </member>
    <member name="M:Gallio.Common.Platform.DotNetRuntimeSupport.CreateReentrantProcessStartInfo(System.String,System.String)">
      <summary>
            When using Mono, creates <see cref="T:System.Diagnostics.ProcessStartInfo" /> that re-enters the Mono runtime
            if the executable is .Net otherwise creates a standard process start info.
            </summary>
      <param name="executablePath">The executable path.</param>
      <param name="arguments">The arguments.</param>
      <returns>The process start info.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="executablePath" />
            or <paramref name="arguments" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetRuntimeSupport.InstalledDotNet20RuntimeVersion">
      <summary>
            Gets the version of the installed .Net 2.0 runtime, or null if not installed.
            </summary>
      <returns>The runtime version, eg. "v2.0.50727"</returns>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetRuntimeSupport.InstalledDotNet40RuntimeVersion">
      <summary>
            Gets the version of the installed .Net 4.0 runtime version, or null if not installed.
            </summary>
      <returns>The runtime version, eg. "v4.0.21006"</returns>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetRuntimeSupport.IsUsingMono">
      <summary>
            Returns true if the application is running within the Mono runtime.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetRuntimeSupport.MostRecentInstalledDotNetRuntimeVersion">
      <summary>
            Gets the version of the most recent installed .Net runtime version.
            </summary>
      <returns>The runtime version, eg. "v4.0.21006"</returns>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetRuntimeSupport.RuntimeType">
      <summary>
            Get the type of the .Net runtime currently executing this process.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.DotNetRuntimeSupport.RuntimeVersion">
      <summary>
            Gets the .Net runtime version in use.
            </summary>
      <returns>The runtime version, eg. "v2.0.50727" or "v4.0.21006"</returns>
    </member>
    <member name="T:Gallio.Common.Platform.DotNetRuntimeType">
      <summary>
            Specifies the .Net runtime type.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.DotNetRuntimeType.CLR">
      <summary>
            Using the Microsoft CLR.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.DotNetRuntimeType.Mono">
      <summary>
            Using the Mono runtime.
            </summary>
    </member>
    <member name="T:Gallio.Common.Platform.ProcessIntegrityLevel">
      <summary>
            Specifies the integrity level of a Windows process.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.Unknown">
      <summary>
            Unknown integrity level.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.Untrusted">
      <summary>
            Process is running with Untrusted integrity.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.Low">
      <summary>
            Process is running with Low integrity.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.Medium">
      <summary>
            Process is running with Medium integrity.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.High">
      <summary>
            Process is running with High integrity.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.System">
      <summary>
            Process is running with System integrity.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessIntegrityLevel.ProtectedProcess">
      <summary>
            Process is running with Protected Process integrity.
            </summary>
    </member>
    <member name="T:Gallio.Common.Platform.ProcessSupport">
      <summary>
            Provides support for working with different process execution models.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.ProcessSupport.HasElevatedPrivileges">
      <summary>
            Returns true if the current process has elevated privileges.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.ProcessSupport.Is32BitProcess">
      <summary>
            Returns true if the current process is running in 32bit mode.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.ProcessSupport.Is64BitProcess">
      <summary>
            Returns true if the current process is running in 64bit mode.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.ProcessSupport.ProcessIntegrityLevel">
      <summary>
            Gets the integrity level of the current process.
            </summary>
    </member>
    <member name="P:Gallio.Common.Platform.ProcessSupport.ProcessType">
      <summary>
            Gets the process type of the current process.
            </summary>
    </member>
    <member name="T:Gallio.Common.Platform.ProcessType">
      <summary>
            Describes the kind of process that is executing.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessType.Console">
      <summary>
            The process is running in the console.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessType.Interactive">
      <summary>
            The process is running interactively.
            </summary>
    </member>
    <member name="F:Gallio.Common.Platform.ProcessType.Service">
      <summary>
            The process is running as a Windows service.
            </summary>
    </member>
    <member name="T:Gallio.Common.Platform.RegistryUtils">
      <summary>
            Provides additional utilities for manipulating the Windows registry, particularly
            to take care of differences on 32bit and 64bit platforms.
            </summary>
    </member>
    <member name="M:Gallio.Common.Platform.RegistryUtils.GetValueWithBitness(System.String,System.String,System.String,System.String)">
      <summary>
            Gets a registry value taking into account the bitness of the platform.
            </summary>
      <param name="keyName">The key name.</param>
      <param name="alternateKeyNameFor64Bit">The alternate key name to try on 64bit platforms if the other key cannot be found.  (The name should probably include "Wow6432Node".)</param>
      <param name="valueName">The value name, or null to read the key's value.</param>
      <param name="defaultValueIfKeyExistsButValueDoesNot">The default value to return if the key exists but the value does not.</param>
      <returns>The value, or null if the key does not exist.</returns>
    </member>
    <member name="M:Gallio.Common.Platform.RegistryUtils.TryActionOnOpenSubKeyWithBitness(Microsoft.Win32.RegistryKey,System.String,System.String,Gallio.Common.Func{Microsoft.Win32.RegistryKey,System.Boolean})">
      <summary>
            Opens a registry subkey taking into account the bitness of the platform
            and attempts to perform an action.  If the action fails and running on x64,
            then tries again with the alternate key.
            </summary>
      <param name="key">The registry key.</param>
      <param name="subKeyName">The subkey name.</param>
      <param name="alternateSubKeyNameFor64Bit">The alternate subkey name to try on 64bit platforms if the other subkey cannot be found.  (The name should probably include "Wow6432Node".)</param>
      <param name="action">The action to perform on the sub key.  Should return true on success.</param>
      <returns>True if the action succeeded.</returns>
    </member>
    <member name="T:Gallio.Common.Policies.CorrelatedExceptionEventArgs">
      <summary>
            Describes an exception that is to be reported.
            </summary>
    </member>
    <member name="M:Gallio.Common.Policies.CorrelatedExceptionEventArgs.#ctor(System.String,System.Exception,System.String,System.Boolean)">
      <summary>
            Creates event arguments for reporting an exception.
            </summary>
      <param name="message">The message associated with the exception.</param>
      <param name="exception">The exception that occurred.</param>
      <param name="reporterStackTrace">The stack trace of the code that called to report the exception, or null if not available.</param>
      <param name="isRecursive">True if a second exception occurred while attempting to report a previous
            unhandled exception on the same thread.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> or
            <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Policies.CorrelatedExceptionEventArgs.AddCorrelationMessage(System.String)">
      <summary>
            Adds a message that serves to describe the context in which the exception occurred.
            The <see cref="P:Gallio.Common.Policies.CorrelatedExceptionEventArgs.Message" /> will be augmented with these details.
            </summary>
      <param name="correlationMessage">The correlation message to append.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="correlationMessage" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Policies.CorrelatedExceptionEventArgs.Exception">
      <summary>
            Gets the exception that occurred.
            </summary>
    </member>
    <member name="M:Gallio.Common.Policies.CorrelatedExceptionEventArgs.GetDescription">
      <summary>
            Formats a description of the exception to a string like: "Message\nException\nReported by: ReporterStackTrace".
            </summary>
      <returns>The formatted string.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.CorrelatedExceptionEventArgs.GetDetails">
      <summary>
            Formats the defaults of the exception to a string like: "Exception\nReported by: ReporterStackTrace".
            </summary>
      <returns>The formatted string.</returns>
    </member>
    <member name="P:Gallio.Common.Policies.CorrelatedExceptionEventArgs.IsRecursive">
      <summary>
            Returns true if a second exception occurred while attempting to report a previous
            exception on the same thread.
            </summary>
    </member>
    <member name="P:Gallio.Common.Policies.CorrelatedExceptionEventArgs.Message">
      <summary>
            Gets the message associated with the exception.
            </summary>
    </member>
    <member name="P:Gallio.Common.Policies.CorrelatedExceptionEventArgs.ReporterStackTrace">
      <summary>
            Gets the stack trace of the code that called to report the exception or null if not available.
            </summary>
    </member>
    <member name="T:Gallio.Common.Policies.EventHandlerPolicy">
      <summary>
            Provides a few functions for working with <see cref="T:System.EventHandler" /> and
            <see cref="T:System.EventHandler`1" /> and reporting unhandled exceptions in event
            handlers safely via <see cref="T:Gallio.Common.Policies.UnhandledExceptionPolicy" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Policies.EventHandlerPolicy.SafeInvoke(System.EventHandler,System.Object,System.EventArgs)">
      <summary>
            Safely invokes each delegate in the invocation list of an event handler.
            Sends any exceptions thrown by the handler to <see cref="M:Gallio.Common.Policies.UnhandledExceptionPolicy.Report(System.String,System.Exception)" />.
            </summary>
      <param name="handlerChain">The event handler chain.</param>
      <param name="sender">The sender.</param>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Common.Policies.EventHandlerPolicy.SafeInvoke``1(System.EventHandler{``0},System.Object,``0)">
      <summary>
            Safely invokes each delegate in the invocation list of an event handler.
            Sends any exceptions thrown by the handler to <see cref="M:Gallio.Common.Policies.UnhandledExceptionPolicy.Report(System.String,System.Exception)" />.
            </summary>
      <param name="handlerChain">The event handler chain.</param>
      <param name="sender">The sender.</param>
      <param name="e">The event arguments.</param>
    </member>
    <member name="T:Gallio.Common.Policies.SpecialPathPolicy">
      <summary>
            Describes a policy for obtaining paths of special resources such as
            temporary directories and user profile settings files.
            </summary>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.CreateTempDirectoryWithUniqueName">
      <summary>
            Creates a temporary directory with a unique name.
            </summary>
      <returns>The temporary directory.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.CreateTempFileWithUniqueName">
      <summary>
            Creates a zero-byte temporary file with a unique name.
            </summary>
      <returns>The temporary file.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.For``1">
      <summary>
            Gets the special path policy for a partition whose name is derived from the type's full name.
            </summary>
      <typeparam name="TPartition">The type used to define the name of the partition.</typeparam>
      <returns>The special path policy.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.For(System.String)">
      <summary>
            Gets the special path policy for a specified partition.
            </summary>
      <param name="partition">The partition name.</param>
      <returns>The special path policy.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="partition" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.GetCommonApplicationDataDirectory">
      <summary>
            Gets the application data directory shared by all users.
            </summary>
      <returns>The common application data directory.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.GetLocalUserApplicationDataDirectory">
      <summary>
            Gets the application data directory for the local non-roaming user.
            </summary>
      <returns>The local non-roaming user application data directory.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.GetRoamingUserApplicationDataDirectory">
      <summary>
            Gets the application data directory for the roaming user.
            </summary>
      <returns>The roaming user application data directory.</returns>
    </member>
    <member name="M:Gallio.Common.Policies.SpecialPathPolicy.GetTempDirectory">
      <summary>
            Gets the temporary directory.
            </summary>
      <returns>The temporary directory.</returns>
    </member>
    <member name="P:Gallio.Common.Policies.SpecialPathPolicy.Partition">
      <summary>
            Gets the name of the partition this policy describes.
            </summary>
    </member>
    <member name="T:Gallio.Common.Policies.UnhandledExceptionPolicy">
      <summary>
            This class provides a mechanism for reporting unhandled exceptions when the infrastructure
            is otherwise unable to deal with them locally.
            </summary>
    </member>
    <member name="E:Gallio.Common.Policies.UnhandledExceptionPolicy.CorrelateUnhandledException">
      <summary>
            Adds or removes an event handler that is notified when unhandled exceptions occur
            and is given a chance to add additional information the event about the
            context in which the exception occurred.
            </summary>
    </member>
    <member name="P:Gallio.Common.Policies.UnhandledExceptionPolicy.HasReportUnhandledExceptionHandler">
      <summary>
            Returns true if there is at least one handler registered for
            <see cref="E:Gallio.Common.Policies.UnhandledExceptionPolicy.ReportUnhandledException" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Policies.UnhandledExceptionPolicy.Report(System.String,System.Exception)">
      <summary>
            Reports an unhandled exception.
            </summary>
      <param name="message">A message to explain how the exception was intercepted.</param>
      <param name="unhandledException">The unhandled exception.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> or <paramref name="unhandledException" /> is null.</exception>
    </member>
    <member name="E:Gallio.Common.Policies.UnhandledExceptionPolicy.ReportUnhandledException">
      <summary>
            Adds or removes an event handler that is notified when unhandled exceptions occur.
            </summary>
    </member>
    <member name="T:Gallio.Common.Policies.VersionPolicy">
      <summary>
            Gets version information for Gallio components.
            </summary>
    </member>
    <member name="M:Gallio.Common.Policies.VersionPolicy.GetVersionLabel(System.Reflection.Assembly)">
      <summary>
            Gets a version label of a Gallio component assembly for display purposes.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The version label.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Policies.VersionPolicy.GetVersionLabel(System.Version)">
      <summary>
            Generates a version label from a version number for display purposes.
            </summary>
      <param name="version">The version to transform into a label.</param>
      <returns>The version label.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Policies.VersionPolicy.GetVersionNumber(System.Reflection.Assembly)">
      <summary>
            Gets the version number of an assembly for display purposes.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The version number.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.AssemblyBinding">
      <summary>
            An assembly binding specifies the name and location of an assembly as well
            as some properties to control how the .Net assembly loader resolves
            particular assembly versions.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyBinding.#ctor(System.Reflection.Assembly)">
      <summary>
            Creates an assembly binding using the name and codebase of the specified assembly.
            </summary>
      <param name="assembly">The assembly.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyBinding.#ctor(System.Reflection.AssemblyName)">
      <summary>
            Creates an assembly binding with the specified assembly name.
            </summary>
      <param name="assemblyName">The assembly name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyBinding.AddBindingRedirect(Gallio.Common.Reflection.AssemblyBinding.BindingRedirect)">
      <summary>
            Adds a binding redirect.
            </summary>
      <param name="bindingRedirect">The binding redirect to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="bindingRedirect" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyBinding.ApplyPublisherPolicy">
      <summary>
            Gets or sets whether to apply the assembly publisher policy.  Default is <c>true</c>.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyBinding.AssemblyName">
      <summary>
            Gets the assembly name.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyBinding.BindingRedirects">
      <summary>
            Gets the mutable list of assembly binding redirects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyBinding.CodeBase">
      <summary>
            Gets or sets the assembly codebase, or null if unknown.
            </summary>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="value" />
            is not null and is not an absolute Uri.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyBinding.QualifyPartialName">
      <summary>
            Gets or sets whether the assembly full name should be used to qualify all partial
            name references to the assembly.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.AssemblyBinding.BindingRedirect">
      <summary>
            Specifies an old version range for an assembly binding redirect.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyBinding.BindingRedirect.#ctor(System.String)">
      <summary>
            Creates an assembly binding redirect.
            </summary>
      <param name="oldVersion">The old assembly version number or range.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="oldVersion" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="oldVersion" /> is not a valid version or version range.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyBinding.BindingRedirect.OldVersion">
      <summary>
            Gets the old assembly version number or range.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.AssemblyMetadata">
      <summary>
            Provides basic information about an Assembly derived from its metadata.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyMetadata.AssemblyName">
      <summary>
            Gets the assembly references.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the assembly name was not populated.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyMetadata.AssemblyReferences">
      <summary>
            Gets the assembly references.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the assembly references were not populated.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyMetadata.MajorRuntimeVersion">
      <summary>
            Gets the major version of the CLI runtime required for the assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyMetadata.MinorRuntimeVersion">
      <summary>
            Gets the minor version of the CLI runtime required for the assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyMetadata.ProcessorArchitecture">
      <summary>
            Gets the processor architecture required for the assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblyMetadata.RuntimeVersion">
      <summary>
            Gets the runtime version in the form "vX.Y.ZZZZ".
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime version were not populated.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.AssemblyMetadataFields">
      <summary>
            Specifies the optional fields of the assembly metadata that are to be populated.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.AssemblyMetadataFields.Default">
      <summary>
            Populates the basic PE format information about the assembly.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.AssemblyMetadataFields.AssemblyName">
      <summary>
            Populates the assembly name.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.AssemblyMetadataFields.AssemblyReferences">
      <summary>
            Populates the list of assembly references.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.AssemblyMetadataFields.RuntimeVersion">
      <summary>
            Populates the runtime version.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.AssemblySignature">
      <summary>
            Describes characteristics used to match an assembly such as an assembly name and version range.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblySignature.#ctor(System.String)">
      <summary>
            Creates an assembly signature.
            </summary>
      <param name="name">The simple name of the assembly.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref cref="F:Gallio.Common.Reflection.AssemblySignature.name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblySignature.IsMatch(System.Reflection.AssemblyName)">
      <summary>
            Returns true if the signature matches the specified assembly name.
            </summary>
      <param name="assemblyName">The assembly name.</param>
      <returns>True if the signature matches the assembly name.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblySignature.MaxVersion">
      <summary>
            Gets the maximum assembly version to match inclusively, or null if there is no upper bound.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblySignature.MinVersion">
      <summary>
            Gets the minimum assembly version to match inclusively, or null if there is no lower bound.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.AssemblySignature.Name">
      <summary>
            Gets the simple name of the assembly.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblySignature.Parse(System.String)">
      <summary>
            Parses the assembly signature from a string.
            </summary>
      <param name="str">The string to parse.</param>
      <returns>The parsed signature.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="str" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="str" /> is malformed.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblySignature.SetVersion(System.Version)">
      <summary>
            Sets the assembly version to match.
            </summary>
      <param name="version">The version to match, or null if none.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblySignature.SetVersionRange(System.Version,System.Version)">
      <summary>
            Sets the assembly version range to match.
            </summary>
      <param name="minVersion">The minimum assembly version to match inclusively, or null if there is no lower bound.</param>
      <param name="maxVersion">The maximum assembly version to match inclusively, or null if there is no upper bound.</param>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="minVersion" /> is null but
            not <paramref name="maxVersion" /> or vice-versa.  Also thrown if <paramref name="minVersion" />
            is greater than <paramref name="maxVersion" />.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblySignature.ToString">
      <summary>
            Converts the signature to a string.
            </summary>
      <returns>The signature in a format that can be subsequently parsed by <see cref="M:Gallio.Common.Reflection.AssemblySignature.Parse(System.String)" />.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.AssemblyUtils">
      <summary>
            Provides helpers for working with assemblies.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetAssemblyLocalPath(System.Reflection.Assembly)">
      <summary>
            Gets the local path of the assembly prior to shadow copying.
            Returns null if the original location of the assembly is not local.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The original non-shadow copied local path of the assembly, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetAssemblyLocation(System.Reflection.Assembly)">
      <summary>
            Gets the location of the assembly, or null if it is dynamic.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The assembly location as returned by <see cref="P:System.Reflection.Assembly.Location" /> or
            null if the assembly is dynamic and does not have a location.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetAssemblyMetadata(System.IO.Stream,Gallio.Common.Reflection.AssemblyMetadataFields)">
      <summary>
            Gets metadata about CLI Assembly in Microsoft PE format.
            </summary>
      <param name="stream">The stream.</param>
      <param name="fields">The optional fields of the <see cref="T:Gallio.Common.Reflection.AssemblyMetadata" /> structure to populate.</param>
      <returns>The metadata or null if the stream does not represent a CLI assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetAssemblyMetadata(System.String,Gallio.Common.Reflection.AssemblyMetadataFields)">
      <summary>
            Gets the Major and Minor components of the CLI runtime version of a CLI Assembly in Microsoft PE format.
            </summary>
      <param name="filePath">The file path.</param>
      <param name="fields">The optional fields of the <see cref="T:Gallio.Common.Reflection.AssemblyMetadata" /> structure to populate.</param>
      <returns>The version, of which only the major and minor components are populated,
            or null if the stream does not represent a CLI assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filePath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetAssemblyNameCulture(System.Reflection.AssemblyName)">
      <summary>
            Gets the culture component of an assembly name.
            </summary>
      <param name="assemblyName">The assembly name.</param>
      <returns>The culture name.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetFriendlyAssemblyCodeBase(System.Reflection.Assembly)">
      <summary>
            If the assembly codebase is a local file, returns it as a local
            path.  Otherwise, returns the assembly codebase Uri.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The assembly's path.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.GetFriendlyAssemblyLocation(System.Reflection.Assembly)">
      <summary>
            Gets the original local path of the assembly prior to shadow
            copying, if it is local.  Otherwise, returns the shadow-copied
            assembly location.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The local path of the assembly, preferably its original
            non-shadow copied location, or null if the assembly is dynamic and does not
            have a location.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.IsAssembly(System.IO.Stream)">
      <summary>
            Returns true if the stream represents a CLI Assembly in Microsoft PE format.
            </summary>
      <param name="stream">The stream.</param>
      <returns>True if the stream represents an assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AssemblyUtils.IsAssembly(System.String)">
      <summary>
            Returns true if the file represents a CLI Assembly in Microsoft PE format.
            </summary>
      <param name="filePath">The file path.</param>
      <returns>True if the file represents an assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filePath" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.AttributeUtils">
      <summary>
            Manipulates attributes described by their metadata.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.GetAttribute``1(Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Gets the attribute of the specified type, or null if none.
            </summary>
      <param name="element">The code element.</param>
      <param name="inherit">If true, includes inherited attributes.</param>
      <typeparam name="T">The attribute type.</typeparam>
      <returns>The attribute, or null if none.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the code element
            has multiple attributes of the specified type.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.GetAttribute(Gallio.Common.Reflection.ICodeElementInfo,System.Type,System.Boolean)">
      <summary>
            Gets the attribute of the specified type, or null if none.
            </summary>
      <param name="element">The code element.</param>
      <param name="attributeType">The attribute type.</param>
      <param name="inherit">If true, includes inherited attributes.</param>
      <returns>The attribute, or null if none.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the code element
            has multiple attributes of the specified type.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.GetAttributes``1(Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Gets the attributes of the specified type.
            </summary>
      <param name="element">The code element.</param>
      <param name="inherit">If true, includes inherited attributes.</param>
      <typeparam name="T">The attribute type.</typeparam>
      <returns>The attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.GetAttributes(Gallio.Common.Reflection.ICodeElementInfo,System.Type,System.Boolean)">
      <summary>
            Gets the attributes of the specified type.
            </summary>
      <param name="element">The code element.</param>
      <param name="attributeType">The attribute type.</param>
      <param name="inherit">If true, includes inherited attributes.</param>
      <returns>The attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.HasAttribute``1(Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Returns true if the code element has an attribute of the specified type.
            </summary>
      <param name="element">The code element.</param>
      <param name="inherit">If true, includes inherited attributes.</param>
      <typeparam name="T">The attribute type.</typeparam>
      <returns>True if the code element has at least one attribute of the specified type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.HasAttribute(Gallio.Common.Reflection.ICodeElementInfo,System.Type,System.Boolean)">
      <summary>
            Returns true if the code element has an attribute of the specified type.
            </summary>
      <param name="element">The code element.</param>
      <param name="attributeType">The attribute type.</param>
      <param name="inherit">If true, includes inherited attributes.</param>
      <returns>True if the code element has at least one attribute of the specified type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.AttributeUtils.ResolveAttributes(System.Collections.Generic.IEnumerable{Gallio.Common.Reflection.IAttributeInfo})">
      <summary>
            Resolves all the attributes.
            </summary>
      <param name="attributes">The attribute descriptions.</param>
      <returns>The resolved attribute instances.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.CodeElementKind">
      <summary>
            Describes the kind of code element represented by a <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Assembly">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Namespace">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.INamespaceInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Type">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.ITypeInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Field">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IFieldInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Property">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IPropertyInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Event">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IEventInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Constructor">
      <summary>
            The element is an <see cref="F:Gallio.Common.Reflection.CodeElementKind.Constructor" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Method">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IMethodInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.Parameter">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IParameterInfo" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeElementKind.GenericParameter">
      <summary>
            The element is an <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" />.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.CodeElementSorter">
      <summary>
            Sorts code elements in various ways.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeElementSorter.SortMembersByDeclaringType``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Sorts members such that those declared by supertypes appear before those
            declared by subtypes.
            </summary>
      <param name="members">The members to sort.</param>
      <typeparam name="T">The type of member.</typeparam>
      <returns>The sorted members.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.CodeLocation">
      <summary>
            Specifies the location of a code element as a position within a file.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.#ctor(System.String,System.Int32,System.Int32)">
      <summary>
            Creates a code location.
            </summary>
      <param name="path">The path or Uri of a resource that contains the code element,
            such as a source file or assembly, or null if unknown.</param>
      <param name="line">The line number, or 0 if unknown.</param>
      <param name="column">The column number, or 0 if unknown.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="line" /> or <paramref name="column" />
            is less than 0.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="path" /> is null and <paramref name="line" />
            is non-zero, or if <paramref name="line" /> is 0 and <paramref name="column" /> is non-zero.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeLocation.Column">
      <summary>
            Gets the column number, or 0 if unknown.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.Equals(Gallio.Common.Reflection.CodeLocation)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Allows the code location structure to control 
            its own serialization and deserialization.
            </summary>
      <param name="info">The serialization info to populate with data.</param>
      <param name="context">The destination for this serialization.</param>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeLocation.Line">
      <summary>
            Gets the line number, or 0 if unknown.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.op_Equality(Gallio.Common.Reflection.CodeLocation,Gallio.Common.Reflection.CodeLocation)">
      <summary>
            Compares two code locations for equality.
            </summary>
      <param name="a">The first code location.</param>
      <param name="b">The second code location.</param>
      <returns>True if the code locations are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.op_Inequality(Gallio.Common.Reflection.CodeLocation,Gallio.Common.Reflection.CodeLocation)">
      <summary>
            Compares two code locations for inequality.
            </summary>
      <param name="a">The first code location.</param>
      <param name="b">The second code location.</param>
      <returns>True if the code references are not equal.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeLocation.Path">
      <summary>
            Gets the path or Uri of a resource that contains the code element, such as
            a source file or assembly, or null if unknown.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.ProvideXmlSchema(System.Xml.Schema.XmlSchemaSet)">
      <summary>
            Provides the Xml schema for this element.
            </summary>
      <param name="schemas">The schema set.</param>
      <returns>The schema type of the element.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeLocation.ToString">
      <summary>
            Converts the location to a string of the form "path(line,column)",
            "path(line)" or "path" depending on which components are available.
            </summary>
      <returns>The code location as a string or "(unknown)" if unknown.</returns>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeLocation.Unknown">
      <summary>
            Gets an empty code location with a null path and no line or column number information.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.CodeReference">
      <summary>
            A code reference is a pointer into the structure of a .Net program for use in
            describing the location of a certain code construct to the user.  It is
            typically used to identify the point of definition of a test component.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.#ctor(System.String,System.String,System.String,System.String,System.String)">
      <summary>
            Creates a code reference from strings.
            </summary>
      <param name="assemblyName">The assembly name, or null if none.</param>
      <param name="namespaceName">The namespace name, or null if none.</param>
      <param name="typeName">The fully-qualified type name, or null if none.</param>
      <param name="memberName">The member name, or null if none.</param>
      <param name="parameterName">The parameter name, or null if none.</param>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeReference.AssemblyName">
      <summary>
            Gets the assembly name, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.CreateFromAssembly(System.Reflection.Assembly)">
      <summary>
            Creates a code reference from an assembly.
            </summary>
      <param name="assembly">The assembly.</param>
      <returns>The code reference.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.CreateFromMember(System.Reflection.MemberInfo)">
      <summary>
            Creates a code reference from a member.
            </summary>
      <param name="member">The member.</param>
      <returns>The code reference.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="member" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.CreateFromNamespace(System.String)">
      <summary>
            Creates a code reference from an namespace name.
            </summary>
      <param name="namespaceName">The namespace name.</param>
      <returns>The code reference.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="namespaceName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.CreateFromParameter(System.Reflection.ParameterInfo)">
      <summary>
            Creates a code reference from a method parameter.
            </summary>
      <param name="parameter">The parameter.</param>
      <returns>The code reference.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.CreateFromType(System.Type)">
      <summary>
            Creates a code reference from a type.
            </summary>
      <param name="type">The type.</param>
      <returns>The code reference.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.Equals(Gallio.Common.Reflection.CodeReference)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeReference.Kind">
      <summary>
            Gets the kind of code element specified by the code reference.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeReference.MemberName">
      <summary>
            Gets the member name, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeReference.NamespaceName">
      <summary>
            Gets the namespace name, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.op_Equality(Gallio.Common.Reflection.CodeReference,Gallio.Common.Reflection.CodeReference)">
      <summary>
            Compares two code references for equality.
            </summary>
      <param name="a">The first code reference.</param>
      <param name="b">The second code reference.</param>
      <returns>True if the code references are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.op_Inequality(Gallio.Common.Reflection.CodeReference,Gallio.Common.Reflection.CodeReference)">
      <summary>
            Compares two code references for inequality.
            </summary>
      <param name="a">The first code reference.</param>
      <param name="b">The second code reference.</param>
      <returns>True if the code references are not equal.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeReference.ParameterName">
      <summary>
            Gets the parameter name, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.ProvideXmlSchema(System.Xml.Schema.XmlSchemaSet)">
      <summary>
            Provides the Xml schema for this element.
            </summary>
      <param name="schemas">The schema set.</param>
      <returns>The schema type of the element.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.CodeReference.ToString">
      <summary>
            Produces a human-readable description of the code reference.
            </summary>
      <returns>A description of the code reference.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.CodeReference.TypeName">
      <summary>
            Gets the fully-qualified type name, or null if none.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReference.Unknown">
      <summary>
            Gets an empty code reference used to indicate that the actual
            reference is unknown.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.CodeReferenceKind">
      <summary>
            Describes the kind of code element specified by a <see cref="T:Gallio.Common.Reflection.CodeReference" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReferenceKind.Unknown">
      <summary>
            The code reference is unknown.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReferenceKind.Assembly">
      <summary>
            The code reference specifies an assembly.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReferenceKind.Namespace">
      <summary>
            The code reference specifies a namespace.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReferenceKind.Type">
      <summary>
            The code reference specifies a type.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReferenceKind.Member">
      <summary>
            The code reference specifies a constructor, method, property, field or event.
            </summary>
    </member>
    <member name="F:Gallio.Common.Reflection.CodeReferenceKind.Parameter">
      <summary>
            The code reference specifies a parameter of a constructor or method.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.ConstantValue">
      <summary>
            Specifies a typed constant value.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ConstantValue.#ctor(Gallio.Common.Reflection.ITypeInfo,System.Object)">
      <summary>
            Creates a constant value.
            </summary>
      <param name="type">The constant value type.</param>
      <param name="value">The constant value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.ConstantValue.FromNative(System.Object)">
      <summary>
            Creates a constant value that wraps an existing native value.
            </summary>
      <param name="value">The native value.</param>
      <returns>The constant.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ConstantValue.IsArray">
      <summary>
            Returns true if the value is an array.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ConstantValue.IsEnum">
      <summary>
            Returns true if the value is an enum.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ConstantValue.IsNative">
      <summary>
            Returns true if the contents of <see cref="P:Gallio.Common.Reflection.ConstantValue.Value" /> can be interpreted as a native value
            or false if <see cref="M:Gallio.Common.Reflection.ConstantValue.Resolve(System.Boolean)" /> must be used to resolve the constant to a native value.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ConstantValue.IsType">
      <summary>
            Returns true if the value is a type.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ConstantValue.Resolve(System.Boolean)">
      <summary>
            Resolves the constant to a native value by replacing type references with actual <see cref="T:System.Type" />
            values, arrays of constants with <see cref="T:System.Array" /> values of the appropriate type,
            and enums with <see cref="T:System.Enum" /> values.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise the result may include unresolved types, enums or arrays.</param>
      <returns>The native constant value.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.ConstantValue.Type">
      <summary>
            Gets the type of the constant.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ConstantValue.Value">
      <summary>
            Gets the value of the constant.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.ConstantValue.UnresolvedEnum">
      <summary>
            A placeholder enum type used to express enum values that cannot be resolved because
            their actual enum type cannot be resolved.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.DeclaringTypeComparer`1">
      <summary>
            Sorts an members that all belong to the same type
            such that the members declared by supertypes appear before those
            declared by subtypes.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.DeclaringTypeComparer`1.Compare(`0,`0)">
      <summary>
                    Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
                </summary>
      <param name="x">
                    The first object to compare.
                </param>
      <param name="y">
                    The second object to compare.
                </param>
      <returns>
                    Value 
                
                    Condition 
                
                    Less than zero
                <paramref name="x" /> is less than <paramref name="y" />.
                
                    Zero
                <paramref name="x" /> equals <paramref name="y" />.
                
                    Greater than zero
                <paramref name="x" /> is greater than <paramref name="y" />.
                </returns>
    </member>
    <member name="F:Gallio.Common.Reflection.DeclaringTypeComparer`1.Instance">
      <summary>
            Gets the singleton instance of the comparer.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.IAssemblyInfo">
      <summary>
            A <see cref="T:System.Reflection.Assembly" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IAssemblyInfo.FullName">
      <summary>
            Gets the full name of the assembly.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IAssemblyInfo.GetExportedTypes">
      <summary>
            Gets the public types exported by the assembly.
            </summary>
      <returns>The exported types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IAssemblyInfo.GetName">
      <summary>
            Gets the <see cref="T:System.Reflection.AssemblyName" /> of the assembly.
            </summary>
      <returns>The assembly name.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IAssemblyInfo.GetReferencedAssemblies">
      <summary>
            Gets the names of the assemblies referenced by this assembly.
            </summary>
      <returns>The names of the references assemblies.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IAssemblyInfo.GetType(System.String)">
      <summary>
            Gets a public type by name, or null if not found.
            </summary>
      <param name="typeName">The type name.</param>
      <returns>The type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IAssemblyInfo.GetTypes">
      <summary>
            Gets all of the types in an assembly.
            </summary>
      <returns>The types.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.IAssemblyInfo.Path">
      <summary>
            Gets the codebase of the assembly as a local path if possible or as a Uri otherwise.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IAssemblyInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IAttributeInfo">
      <summary>
            Provides information about the contents of a custom attribute.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IAttributeInfo.Constructor">
      <summary>
            Gets the constructor used to create the attribute.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown if not supported.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.IAttributeInfo.GetFieldValue(System.String)">
      <summary>
            Gets an attribute field value.
            </summary>
      <param name="name">The field name.</param>
      <returns>The value, or a default value of the field's type if the field with the specified name
            was not initialized by the attribute declaration.</returns>
      <exception cref="T:System.ArgumentException">Thrown if there is no writable instance field with the specified name.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.IAttributeInfo.GetPropertyValue(System.String)">
      <summary>
            Gets an attribute property value.
            </summary>
      <param name="name">The property name.</param>
      <returns>The value, or a default value of the propery's type if the property with the specified name was not
            initialized by the attribute declaration.</returns>
      <exception cref="T:System.ArgumentException">Thrown if there is no writable instance property with the specified name.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.IAttributeInfo.InitializedArgumentValues">
      <summary>
            Gets the initialized attribute constructor argument values.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown if not supported.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.IAttributeInfo.InitializedFieldValues">
      <summary>
            Gets the initialized attribute field values.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IAttributeInfo.InitializedPropertyValues">
      <summary>
            Gets the initialized attribute property values.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IAttributeInfo.Resolve(System.Boolean)">
      <summary>
            Gets the attribute as an object.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise the result may include unresolved types, enums or arrays
            though it still may throw an exception if the attribute class cannot be instantiated.</param>
      <returns>The attribute.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the attribute could not be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.IAttributeInfo.Type">
      <summary>
            Gets the attribute type.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.ICodeElementInfo">
      <summary>
            Represents a structural element of some code base. 
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference">
      <summary>
            Gets a <see cref="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference" /> for this code element.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ICodeElementInfo.GetAttributeInfos(Gallio.Common.Reflection.ITypeInfo,System.Boolean)">
      <summary>
            Gets information about the code element's custom attributes of the specified type.
            </summary>
      <param name="attributeType">The attribute type, or null to return attributes of all types.</param>
      <param name="inherit">If true, includes inherited attributes
            from base types (but not from interfaces, just like <see cref="T:System.Reflection.ICustomAttributeProvider" /> does).</param>
      <returns>The code element's attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ICodeElementInfo.GetAttributes(Gallio.Common.Reflection.ITypeInfo,System.Boolean)">
      <summary>
            Gets the code element's custom attributes of the specified type.
            </summary>
      <param name="attributeType">The attribute type.</param>
      <param name="inherit">If true, includes inherited attributes
            from base types (but not from interfaces, just like <see cref="T:System.Reflection.ICustomAttributeProvider" /> does).</param>
      <returns>The attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ICodeElementInfo.GetCodeLocation">
      <summary>
            Gets the location of a resource that contains the declaration of this code element, or
            <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.  The location may refer to the code
            element's source code or to the location of its compiled assembly.
            </summary>
      <returns>The code location.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ICodeElementInfo.GetXmlDocumentation">
      <summary>
            Gets the XML documentation associated with the code element.
            </summary>
      <returns>The XML documentation or null if none available.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ICodeElementInfo.HasAttribute(Gallio.Common.Reflection.ITypeInfo,System.Boolean)">
      <summary>
            Returns true if the code element has a custom attribute of the specified type.
            </summary>
      <param name="attributeType">The attribute type, or null to search for attributes of all types.</param>
      <param name="inherit">If true, includes inherited attributes
            from base types (but not from interfaces, just like <see cref="T:System.Reflection.ICustomAttributeProvider" /> does).</param>
      <returns>True if the code element has at least one attribute of the specified type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ICodeElementInfo.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ICodeElementInfo.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.IConstructorInfo">
      <summary>
            A <see cref="T:System.Reflection.ConstructorInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IConstructorInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IEventInfo">
      <summary>
            A <see cref="T:System.Reflection.EventInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IEventInfo.AddMethod">
      <summary>
            Gets the add method of the event, or null if none.
            </summary>
      <returns>The add method, or null if none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.IEventInfo.EventAttributes">
      <summary>
            Gets the event attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IEventInfo.EventHandlerType">
      <summary>
            Gets the event handler type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IEventInfo.RaiseMethod">
      <summary>
            Gets the raise method of the event, or null if none.
            </summary>
      <returns>The raise method, or null if none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.IEventInfo.RemoveMethod">
      <summary>
            Gets the remove method of the event, or null if none.
            </summary>
      <returns>The remove method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IEventInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IFieldInfo">
      <summary>
            A <see cref="T:System.Reflection.FieldInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.FieldAttributes">
      <summary>
            Gets the field attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsAssembly">
      <summary>
            Gets a value indicating whether this field has Assembly level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsFamily">
      <summary>
            Gets a value indicating whether this field has Family level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsFamilyAndAssembly">
      <summary>
            Gets a value indicating whether this field has FamilyAndAssembly level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsFamilyOrAssembly">
      <summary>
            Gets a value indicating whether this field has FamilyOrAssembly level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsInitOnly">
      <summary>
            Returns true if the field is read-only and can only be set from the constructor.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsLiteral">
      <summary>
            Returns true if the field is a literal set at compile time.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsPrivate">
      <summary>
            Gets a value indicating whether the field is private.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsPublic">
      <summary>
            Gets a value indicating whether the field is public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFieldInfo.IsStatic">
      <summary>
            Returns true if the field is static.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IFieldInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IFunctionInfo">
      <summary>
            A <see cref="T:System.Reflection.MethodBase" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.CallingConvention">
      <summary>
            Gets the calling conventions for this method.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsAbstract">
      <summary>
            Returns true if the method is abstract.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsAssembly">
      <summary>
            Gets a value indicating whether this method can be called by other classes in the same assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsFamily">
      <summary>
            Gets a value indicating whether access to this method is restricted to members of the class and members of its derived classes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsFamilyAndAssembly">
      <summary>
            Gets a value indicating whether this method can be called by derived classes if they are in the same assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsFamilyOrAssembly">
      <summary>
            Gets a value indicating whether this method can be called by derived classes, wherever they are, and by all classes in the same assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsFinal">
      <summary>
            Returns true if the method is final.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsHideBySig">
      <summary>
            Gets a value indicating whether only a member of the same kind with exactly the same signature is hidden in the derived class.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsPrivate">
      <summary>
            Gets a value indicating whether this member is private.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsPublic">
      <summary>
            Gets a value indicating whether this is a public method.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsStatic">
      <summary>
            Returns true if the method is static.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.IsVirtual">
      <summary>
            Gets a value indicating whether the method is virtual.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.MethodAttributes">
      <summary>
            Gets the method attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IFunctionInfo.Parameters">
      <summary>
            Gets the parameters of the function.
            </summary>
      <returns>The parameters.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IFunctionInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IGenericParameterInfo">
      <summary>
            A <see cref="T:System.Type" /> reflection wrapper for generic parameters.
            The parameter is presented as if it were a slot the accepted
            a value of type <see cref="T:System.Type" />.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IGenericParameterInfo.Constraints">
      <summary>
            Gets the constraints of the generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IGenericParameterInfo.DeclaringMethod">
      <summary>
            Gets the declaring generic method of a generic method parameter
            or null for a generic type parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IGenericParameterInfo.GenericParameterAttributes">
      <summary>
            Gets the generic parameter attributes.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.IMemberInfo">
      <summary>
            A <see cref="T:System.Reflection.MemberInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMemberInfo.DeclaringType">
      <summary>
            Gets the declaring type of the member.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMemberInfo.ReflectedType">
      <summary>
            Gets the reflected type of the member. The reflected type is the type that was
            used to locate the member. If the member was inherited from a base class, its
            declaring type will be the base class but its reflected type will be the inherited
            class from which the member was accessed.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IMemberInfo.Resolve(System.Boolean)">
      <summary>
            Gets the member to its underlying native reflection type.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The underlying native reflection type.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IMethodInfo">
      <summary>
            A <see cref="T:System.Reflection.MethodInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.ContainsGenericParameters">
      <summary>
            Returns true if the method contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.IMethodInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.GenericArguments">
      <summary>
            Gets the generic arguments of the method.
            The list may contain <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects when
            no type has yet been bound to a certain generic parameter slots.
            </summary>
      <returns>The generic arguments.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.GenericMethodDefinition">
      <summary>
            Gets the generic method definition of this method, or null if the method is not generic.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.IsGenericMethod">
      <summary>
            Returns true if the method is a generic method.
            If so, the <see cref="P:Gallio.Common.Reflection.IMethodInfo.GenericArguments" /> list will be non-empty.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.IsGenericMethodDefinition">
      <summary>
            Returns true if the method is a generic method definition.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IMethodInfo.MakeGenericMethod(System.Collections.Generic.IList{Gallio.Common.Reflection.ITypeInfo})">
      <summary>
            Makes a generic method instantiation.
            </summary>
      <param name="genericArguments">The generic arguments.</param>
      <returns>The generic method instantiation.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.IMethodInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:System.NotSupportedException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.ReturnParameter">
      <summary>
            Gets the method return parameter object that contains information
            about the return value and its attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMethodInfo.ReturnType">
      <summary>
            Gets the method return type.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.IMirror">
      <summary>
            A mirror describes a code element or attribute using a particular reflection policy.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IMirror.ReflectionPolicy">
      <summary>
            Gets the reflection policy of the mirror.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.INamespaceInfo">
      <summary>
            A namespace reflection wrapper identified by its name.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.IParameterInfo">
      <summary>
            A <see cref="T:System.Reflection.ParameterInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IParameterInfo.IsIn">
      <summary>
            Gets a value indicating whether this is an input parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IParameterInfo.IsOptional">
      <summary>
            Gets a value indicating whether this parameter is optional.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IParameterInfo.IsOut">
      <summary>
            Gets a value indicating whether this is an output parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IParameterInfo.Member">
      <summary>
            Gets the member to which the parameter belongs.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IParameterInfo.ParameterAttributes">
      <summary>
            Gets the parameter attributes.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IParameterInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.IPropertyInfo">
      <summary>
            A <see cref="T:System.Reflection.PropertyInfo" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IPropertyInfo.CanRead">
      <summary>
            Returns true if the property can be read.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IPropertyInfo.CanWrite">
      <summary>
            Returns true if the property can be written.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IPropertyInfo.GetMethod">
      <summary>
            Gets the get method of the property, or null if none.
            </summary>
      <returns>The get method, or null if none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.IPropertyInfo.IndexParameters">
      <summary>
            Gets the list of index parameters for an indexer property, or
            an empty array if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.IPropertyInfo.PropertyAttributes">
      <summary>
            Gets the property attributes.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IPropertyInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.IPropertyInfo.SetMethod">
      <summary>
            Gets the set method of the property, or null if none.
            </summary>
      <returns>The set method, or null if none.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.IReflectionPolicy">
      <summary>
            A reflection policy provides access to top-level reflection resources
            such as assemblies.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.IReflectionPolicy.LoadAssembly(System.Reflection.AssemblyName)">
      <summary>
            Loads an assembly by name.
            </summary>
      <param name="assemblyName">The full or partial assembly name of the assembly to load.</param>
      <returns>The loaded assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> is null.</exception>
      <exception cref="T:System.Exception">Thrown if the assembly could not be loaded for any reason.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.IReflectionPolicy.LoadAssemblyFrom(System.String)">
      <summary>
            Loads an assembly from a file.
            </summary>
      <param name="assemblyFile">The assembly file path.</param>
      <returns>The loaded assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyFile" /> is null.</exception>
      <exception cref="T:System.Exception">Thrown if the assembly could not be loaded for any reason.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.ISlotInfo">
      <summary>
            A slot represents a field, property or parameter.  It is used to
            simplify the handling of data binding since all three of these types
            are similar in that they can hold values of some type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ISlotInfo.Position">
      <summary>
            Gets the positional index of a method parameter slot, -1 if the
            slot is a method return parameter, or 0 if the slot is of some other kind.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ISlotInfo.ValueType">
      <summary>
            Gets the type of value held in the slot.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.ITypeInfo">
      <summary>
            A <see cref="T:System.Type" /> reflection wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.ArrayRank">
      <summary>
            Gets the rank of the array type.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the type is not an array type.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.Assembly">
      <summary>
            Gets the assembly in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.AssemblyQualifiedName">
      <summary>
            Gets the assembly-qualified name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.BaseType">
      <summary>
            Gets the base type of the type, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.ContainsGenericParameters">
      <summary>
            Returns true if the type contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.ElementType">
      <summary>
            Gets the element type of an array, pointer or byref type, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.FullName">
      <summary>
            Gets the full name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments">
      <summary>
            Gets the generic arguments of the type.
            The list may contain <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects when
            no type has yet been bound to a certain generic parameter slots.
            </summary>
      <returns>The generic arguments, or an empty list if there are none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.GenericTypeDefinition">
      <summary>
            Gets the generic type definition of this type, or null if the type is not generic.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetConstructors(System.Reflection.BindingFlags)">
      <summary>
            Gets all constructors of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The constructors.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetEvent(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a event by name, or null if not found.
            </summary>
      <param name="eventName">The event name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The event.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetEvents(System.Reflection.BindingFlags)">
      <summary>
            Gets all events of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The events.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetField(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a field by name, or null if not found.
            </summary>
      <param name="fieldName">The field name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetFields(System.Reflection.BindingFlags)">
      <summary>
            Gets all fields of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The fields.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetMethod(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a method by name, or null if not found.
            </summary>
      <param name="methodName">The method name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The method.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetMethods(System.Reflection.BindingFlags)">
      <summary>
            Gets all methods of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The methods.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetNestedType(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a nested type by name, or null if not found.
            </summary>
      <param name="nestedTypeName">The nested type name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetNestedTypes(System.Reflection.BindingFlags)">
      <summary>
            Gets all nested types of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetProperties(System.Reflection.BindingFlags)">
      <summary>
            Gets all properties of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The properties.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.GetProperty(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a property by name, or null if not found.
            </summary>
      <param name="propertyName">The property name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.Interfaces">
      <summary>
            Gets all of the type's interfaces.
            </summary>
      <returns>The type's interfaces.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsAbstract">
      <summary>
            Returns true if the type is abstract and must be overridden.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsArray">
      <summary>
            Returns true if the type represents an array.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.IsAssignableFrom(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Returns true if variables of this type can be assigned with values of the specified type.
            </summary>
      <param name="type">The other type, or null if none.</param>
      <returns>True if the other type is not null and this type is assignable from the other type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsByRef">
      <summary>
            Returns true if the type represents a type that is passed by reference.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsClass">
      <summary>
            Returns true if the type is a class.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsEnum">
      <summary>
            Returns true if the type represents an enumeration.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsGenericParameter">
      <summary>
            Returns true if the type represents a generic type parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsGenericType">
      <summary>
            Returns true if the type is a generic type.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will be non-empty.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsGenericTypeDefinition">
      <summary>
            Returns true if the type is a generic type definition.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsInterface">
      <summary>
            Returns true if the type is an interface.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNested">
      <summary>
            Returns true if the type is nested.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNestedAssembly">
      <summary>
            Returns true if the type is nested and is visible only within its own assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNestedFamily">
      <summary>
            Returns true if the type is nested and visible only within its own family.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNestedFamilyAndAssembly">
      <summary>
            Returns true if the type is nested and visible only to classes that belong to both its own family and its own assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNestedFamilyOrAssembly">
      <summary>
            Returns true if the type is nested and visible only to classes that belong to either its own family or to its own assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNestedPrivate">
      <summary>
            Returns true if the type is nested and declared private.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNestedPublic">
      <summary>
            Returns true if the type is nested and declared public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsNotPublic">
      <summary>
            Returns true if the type is not declared public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsPointer">
      <summary>
            Returns true if the type represents a pointer.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsPublic">
      <summary>
            Returns true if the type is declared public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsSealed">
      <summary>
            Returns true if the type is sealed.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.IsSubclassOf(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Returns true if this type is a subclass of the specified type.
            </summary>
      <param name="type">The other type, or null if none.</param>
      <returns>True if the other type is not null, this type is a subclass of the other type,
            and this type not the same as the other type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.IsValueType">
      <summary>
            Returns true if the type is a value type.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.MakeArrayType(System.Int32)">
      <summary>
            Makes an array type of the specified rank.
            </summary>
      <param name="arrayRank">The array rank.</param>
      <returns>The array type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.MakeByRefType">
      <summary>
            Makes a reference type.
            </summary>
      <returns>The reference type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.MakeGenericType(System.Collections.Generic.IList{Gallio.Common.Reflection.ITypeInfo})">
      <summary>
            Makes a generic type instantiation.
            </summary>
      <param name="genericArguments">The generic arguments.</param>
      <returns>The generic type instantiation.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.MakePointerType">
      <summary>
            Makes a pointer type.
            </summary>
      <returns>The pointer type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.Namespace">
      <summary>
            Gets the namespace in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.NamespaceName">
      <summary>
            Gets the name of the namespace in which the type is declared.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ITypeInfo.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.ITypeInfo.TypeCode">
      <summary>
            Gets the type's <see cref="P:Gallio.Common.Reflection.ITypeInfo.TypeCode" />.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.ReflectionOnlyAssemblyLoader">
      <summary>
            This assembly loader loads assemblies externally for reflection only.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionOnlyAssemblyLoader.#ctor">
      <summary>
            Creates an assembly loader.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionOnlyAssemblyLoader.AddHintDirectory(System.String)">
      <summary>
            Adds a hint directory to search for loading assemblies.
            </summary>
      <param name="path">The search directory to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.ReflectionOnlyAssemblyLoader.ReflectionPolicy">
      <summary>
            Gets the reflection policy used to load and access the assemblies.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.ReflectionResolveException">
      <summary>
            The type of exception thrown when a reflection info object or reference cannot
            be resolved.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(Gallio.Common.Reflection.IAttributeInfo)">
      <summary>
            Creates an exception for an attribute that could not be resolved.
            </summary>
      <param name="attribute">The attribute that could not be resolved.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attribute" /> is nul.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(Gallio.Common.Reflection.IAttributeInfo,System.Exception)">
      <summary>
            Creates an exception for an attribute that could not be resolved.
            </summary>
      <param name="attribute">The attribute that could not be resolved.</param>
      <param name="innerException">The inner exception, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attribute" /> is nul.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates an exception for a code element that could not be resolved.
            </summary>
      <param name="codeElement">The code element that could not be resolved.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is nul.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(Gallio.Common.Reflection.ICodeElementInfo,System.Exception)">
      <summary>
            Creates an exception for a code element that could not be resolved.
            </summary>
      <param name="codeElement">The code element that could not be resolved.</param>
      <param name="innerException">The inner exception, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is nul.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionResolveException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Reflection.ReflectionUtils">
      <summary>
            Provides functions for working with reflection.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.CanGetAndSetNonStatic(Gallio.Common.Reflection.IPropertyInfo)">
      <summary>
            Determines if the property has public, non-static and non-abstract getter
            and setter functions.
            </summary>
      <param name="property">The property.</param>
      <returns>True if the property can be get and set.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.CanInstantiate(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Determines if the type can be instantiated using a public constructor.
            </summary>
      <param name="type">The type.</param>
      <returns>True if the type can be instantiated.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.CanInvokeNonStatic(Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Determines if the method is public, non-static and is non-abstract so it can be invoked.
            </summary>
      <param name="method">The method.</param>
      <returns>True if the method can be invoked.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.FindAssemblyReference(Gallio.Common.Reflection.IAssemblyInfo,System.String)">
      <summary>
            Finds the assembly name of the directly referenced assembly with the specified display name.
            </summary>
      <param name="assembly">The assembly to search.</param>
      <param name="displayName">The display name of the referenced assembly to find.</param>
      <returns>The referenced assembly name or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetAssembly(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the assembly that declares the code element, or the
            code element itself if it is an <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" />.
            </summary>
      <param name="codeElement">The code element, possibly null.</param>
      <returns>The assembly, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetDefaultValue(System.Type)">
      <summary>
            Gets the default value for a type.
            </summary>
      <param name="type">The type.</param>
      <returns>The default value for the type, such as <c>0</c> if
            the type represents an integer, or <c>null</c> if the type
            is a reference type or if <paramref name="type" /> was null.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetDefaultValue(System.TypeCode)">
      <summary>
            Gets the default value of a type with a given type code.
            </summary>
      <param name="typeCode">The type code.</param>
      <returns>The default value of the type associated with the
            specified type code.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetMember(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the non-type member that declares the code element, or the
            code element itself if it is an <see cref="T:Gallio.Common.Reflection.IMemberInfo" />
            other than a <see cref="T:Gallio.Common.Reflection.ITypeInfo" />.
            </summary>
      <param name="codeElement">The code element, possibly null.</param>
      <returns>The member, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetNamespace(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the namespace that declares the code element, or the
            code element itself if it is an <see cref="T:Gallio.Common.Reflection.INamespaceInfo" />.
            </summary>
      <param name="codeElement">The code element, possibly null.</param>
      <returns>The namespace, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetParameter(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the parameter that declares the code element, or the
            code element itself if it is an <see cref="T:Gallio.Common.Reflection.IParameterInfo" />.
            </summary>
      <param name="codeElement">The code element, possibly null.</param>
      <returns>The parameter, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.GetType(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the type that declares the code element, or the
            code element itself if it is an <see cref="T:Gallio.Common.Reflection.ITypeInfo" />.
            </summary>
      <param name="codeElement">The code element, possibly null.</param>
      <returns>The type, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.IsAssignableFrom(System.String,System.Type)">
      <summary>
            Returns true if the named type is assignable from the specified type.
            </summary>
      <param name="searchTypeName">The search type.</param>
      <param name="candidateType">The candidate type.</param>
      <returns>True if the search type is assignable from the candidate type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="searchTypeName" />
            or <paramref name="candidateType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.ReflectionUtils.IsDerivedFrom(Gallio.Common.Reflection.ITypeInfo,System.String)">
      <summary>
            Returns true if a type is derived from another type with the specified qualified name.
            </summary>
      <param name="type">The type to check.</param>
      <param name="qualifiedTypeName">The qualified type name.</param>
      <returns>True if <paramref name="type" /> is derived from <paramref name="qualifiedTypeName" /></returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Reflector">
      <summary>
            Wraps reflection types using the reflection adapter interfaces.
            Also resolves code references.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.GetCallingFunction">
      <summary>
            Creates a code element from the caller of the executing function.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.GetExecutingFunction">
      <summary>
            Creates a code element from the executing function.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.GetFunctionFromStackFrame(System.Int32)">
      <summary>
            Creates a code element representing a function from a particular frame on the current stack.
            </summary>
      <param name="framesToSkip">The number of frames to skip.  If this number is 0,
            the code reference will refer to the direct caller of this method;
            if it is 1, it will refer to the caller's caller, and so on.</param>
      <returns>The code reference.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="framesToSkip" /> is less than zero.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.IsUnresolved(System.Reflection.Assembly)">
      <summary>
            Returns true if the target represents an unresolved assembly with
            limited support for reflection.
            </summary>
      <param name="target">The assembly, or null if none.</param>
      <returns>True if the target is unresolved.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.IsUnresolved(System.Reflection.MemberInfo)">
      <summary>
            Returns true if the target represents an unresolved member with
            limited support for reflection.
            </summary>
      <param name="target">The member, or null if none.</param>
      <returns>True if the target is unresolved.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.IsUnresolved(System.Reflection.ParameterInfo)">
      <summary>
            Returns true if the target represents an unresolved parameter with
            limited support for reflection.
            </summary>
      <param name="target">The parameter, or null if none.</param>
      <returns>True if the target is unresolved.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Reflector.NativeReflectionPolicy">
      <summary>
            Gets the singleton instance of the native <see cref="T:Gallio.Common.Reflection.IReflectionPolicy" />
            based on .Net reflection.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Resolve(Gallio.Common.Reflection.CodeReference,System.Boolean)">
      <summary>
            Resolves the specified <see cref="T:Gallio.Common.Reflection.CodeReference" />. 
            </summary>
      <param name="reference">The code reference.</param>
      <param name="throwOnError">If true, throws an exception on error.</param>
      <returns>The associated code element, or null if the code reference
            is of kind <see cref="F:Gallio.Common.Reflection.CodeReferenceKind.Unknown" /></returns>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="throwOnError" />
            is true and <paramref name="reference" /> cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Attribute)">
      <summary>
            Obtains a reflection wrapper for an attribute instance.
            </summary>
      <param name="target">The attribute, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Collections.Generic.IList{System.Type})">
      <summary>
            Obtains a reflection wrapper for a list of types.
            </summary>
      <param name="targets">The types, or null if none.</param>
      <returns>The reflection wrappers, or null original list was null.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.Assembly)">
      <summary>
            Obtains a reflection wrapper for an assembly.
            </summary>
      <param name="target">The assembly, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.ConstructorInfo)">
      <summary>
            Obtains a reflection wrapper for a constructor.
            </summary>
      <param name="target">The constructor, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.EventInfo)">
      <summary>
            Obtains a reflection wrapper for an event.
            </summary>
      <param name="target">The event, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.FieldInfo)">
      <summary>
            Obtains a reflection wrapper for a field.
            </summary>
      <param name="target">The field, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.MemberInfo)">
      <summary>
            Obtains a reflection wrapper for a member.
            </summary>
      <param name="target">The member, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.MethodBase)">
      <summary>
            Obtains a reflection wrapper for a function.
            </summary>
      <param name="target">The function, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.MethodInfo)">
      <summary>
            Obtains a reflection wrapper for a method.
            </summary>
      <param name="target">The method, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.ParameterInfo)">
      <summary>
            Obtains a reflection wrapper for a parameter.
            </summary>
      <param name="target">The parameter, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Reflection.PropertyInfo)">
      <summary>
            Obtains a reflection wrapper for a property.
            </summary>
      <param name="target">The property, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.Wrap(System.Type)">
      <summary>
            Obtains a reflection wrapper for a type.
            </summary>
      <param name="target">The type, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Reflector.WrapNamespace(System.String)">
      <summary>
            Obtains a reflection wrapper for a namespace.
            </summary>
      <param name="name">The namespace name, or null if none.</param>
      <returns>The reflection wrapper, or null if none.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.TypeName">
      <summary>
            Describes the name of a type and allows partial type names to be compared with one another.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.#ctor(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Creates a type name from type info.
            </summary>
      <param name="typeInfo">The type info.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="typeInfo" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="typeInfo" /> does not have a valid FullName property
            (for example, it represents a generic type parameter).</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.#ctor(System.String)">
      <summary>
            Creates a type name from its assembly-qualified name.
            </summary>
      <param name="assemblyQualifiedName">The assembly-qualified name of the type, including
            its namespace and assembly.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyQualifiedName" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="assemblyQualifiedName" /> is malformed or
            does not contain a valid assembly name.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.#ctor(System.String,System.Reflection.AssemblyName)">
      <summary>
            Creates a type name from its full name and assembly name.
            </summary>
      <param name="fullName">The full name of the type, including its namespace.</param>
      <param name="assemblyName">The full or partial name of the assembly that contains the type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fullName" /> or <paramref name="assemblyName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.#ctor(System.Type)">
      <summary>
            Creates a type name from a type.
            </summary>
      <param name="type">The type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="type" /> does not have a valid FullName property
            (for example, it represents a generic type parameter).</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.TypeName.AssemblyName">
      <summary>
            Gets the full or partial name of the assembly that contains the type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.TypeName.AssemblyQualifiedName">
      <summary>
            Gets the assembly-qualified name of the type, including its namespace and assembly.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.ConvertToPartialAssemblyName">
      <summary>
            Returns a type name that has a partial assembly name instead of the full assembly name.
            </summary>
      <returns>The type name.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.Equals(Gallio.Common.Reflection.TypeName)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="P:Gallio.Common.Reflection.TypeName.FullName">
      <summary>
            Gets the full name of the type, including its namespace.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.TypeName.HasPartialAssemblyName">
      <summary>
            Returns true if the associated <see cref="P:Gallio.Common.Reflection.TypeName.AssemblyName" /> is a partial name only.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.Resolve">
      <summary>
            Resolves the type named by this instance.
            </summary>
      <returns>The type.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the type could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.TypeName.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.BaseReflectionPolicy">
      <summary>
            A base reflection policy implementation that performs argument validation.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.BaseReflectionPolicy.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Reflection.Impl.BaseReflectionPolicy" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.BaseReflectionPolicy.LoadAssembly(System.Reflection.AssemblyName)">
      <summary>
            Loads an assembly by name.
            </summary>
      <param name="assemblyName">The full or partial assembly name of the assembly to load.</param>
      <returns>The loaded assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> is null.</exception>
      <exception cref="T:System.Exception">Thrown if the assembly could not be loaded for any reason.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.BaseReflectionPolicy.LoadAssemblyFrom(System.String)">
      <summary>
            Loads an assembly from a file.
            </summary>
      <param name="assemblyFile">The assembly file path.</param>
      <returns>The loaded assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyFile" /> is null.</exception>
      <exception cref="T:System.Exception">Thrown if the assembly could not be loaded for any reason.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.BaseReflectionPolicy.LoadAssemblyFromImpl(System.String)">
      <summary>
            Loads an assembly from a file.
            </summary>
      <param name="assemblyFile">The assembly file path, not null.</param>
      <returns>The loaded assembly wrapper.</returns>
      <exception cref="T:System.Exception">Any exception may be thrown if the loading fails.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.BaseReflectionPolicy.LoadAssemblyImpl(System.Reflection.AssemblyName)">
      <summary>
            Loads an assembly.
            </summary>
      <param name="assemblyName">The assembly name, not null.</param>
      <returns>The loaded assembly wrapper.</returns>
      <exception cref="T:System.Exception">Any exception may be thrown if the loading fails.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.ComDebugSymbolResolver">
      <summary>
            Resolves debug symbols via the CorMetaDataDispenser COM class.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ComDebugSymbolResolver.#ctor(System.Boolean)">
      <summary>
            Creates a COM debug symbol resolver.
            </summary>
      <param name="avoidLocks">If true, avoids taking a lock on the PDB files but may use more memory or storage.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ComDebugSymbolResolver.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ComDebugSymbolResolver.GetSourceLocationForMethod(System.String,System.Int32)">
      <summary>
            Gets the location of a source file that contains the declaration of a method, or
            null if not available.
            </summary>
      <param name="assemblyPath">The path of the assembly that contains the method.</param>
      <param name="methodToken">The method token.</param>
      <returns>The source code location, or null if unknown.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.DebugSymbolUtils">
      <summary>
            Helpers for working with <see cref="T:Gallio.Common.Reflection.Impl.IDebugSymbolResolver" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.DebugSymbolUtils.CreateResolver(System.Boolean)">
      <summary>
            Creates a new debug symbol resolver appropriate for this platform.
            </summary>
      <param name="avoidLocks">If true, avoids taking a lock on the PDB files but may use more memory or storage.</param>
      <returns>The debug symbol resolver.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.DebugSymbolUtils.GetSourceLocation(System.Reflection.MethodBase)">
      <summary>
            Gets the location of a source file that contains the declaration of a method, or
            unknown if not available.
            </summary>
      <param name="method">The method.</param>
      <returns>The source location, or <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if unknown.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="method" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.DebugSymbolUtils.GetSourceLocation(System.Type)">
      <summary>
            Gets the location of a source file that contains the declaration of a type, or
            unknown if not available.
            </summary>
      <param name="type">The type.</param>
      <returns>The code location, or <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if unknown.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.DebugSymbolUtils.Resolver">
      <summary>
            Gets the singleton debug symbol resolver used by these utilities.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.DefaultXmlDocumentationResolver">
      <summary>
            The default XML documentation resolver reads XML documentation files on
            demand when available and caches them in memory for subsequent accesses.
            It takes care of mapping member names to XML documentation conventions
            when asked to resolve the documentation for a member.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.DefaultXmlDocumentationResolver.#ctor">
      <summary>
            Creates an XML documentation loader.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.DefaultXmlDocumentationResolver.GetXmlDocumentation(System.String,System.String)">
      <summary>
            Gets the XML documentation for a member in an assembly.
            </summary>
      <param name="assemblyPath">The assembly path.</param>
      <param name="memberId">The XML documentation id of the member.</param>
      <returns>The XML documentation for the member, or null if none available.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> or <paramref name="memberId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.IDebugSymbolResolver">
      <summary>
            Resolves debug symbols associated with members.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.IDebugSymbolResolver.GetSourceLocationForMethod(System.String,System.Int32)">
      <summary>
            Gets the location of a source file that contains the declaration of a method, or
            null if not available.
            </summary>
      <param name="assemblyPath">The path of the assembly that contains the method.</param>
      <param name="methodToken">The method token.</param>
      <returns>The source code location, or null if unknown.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.IResolvableTypeInfo">
      <summary>
            This extension of <see cref="T:Gallio.Common.Reflection.ITypeInfo" /> is provided to enable the resolution of
            a type with <see cref="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveType(Gallio.Common.Reflection.Impl.IResolvableTypeInfo,System.Reflection.MethodInfo,System.Boolean)" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.IResolvableTypeInfo.Resolve(System.Reflection.MethodInfo,System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target within the scope
            of the specified method.
            </summary>
      <param name="methodContext">The method that is currently in scope, or null if none.
            This parameter is used when resolving types that are part of the signature
            of a generic method so that generic method arguments can be handled correctly.</param>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.IUnresolvedCodeElement">
      <summary>
            Represents a code element that could not be resolved to a native reflection type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.IUnresolvedCodeElement.Adapter">
      <summary>
            Gets the underlying reflection adapter.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.IXmlDocumentationResolver">
      <summary>
            Resolves members to XML documentation contents.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.IXmlDocumentationResolver.GetXmlDocumentation(System.String,System.String)">
      <summary>
            Gets the XML documentation for a member in an assembly.
            </summary>
      <param name="assemblyPath">The assembly path.</param>
      <param name="memberId">The XML documentation id of the member.</param>
      <returns>The XML documentation for the member, or null if none available.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> or <paramref name="memberId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.MonoDebugSymbolResolver">
      <summary>
            Implementation of a debug symbol resolver for Mono.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.MonoDebugSymbolResolver.#ctor(System.Boolean)">
      <summary>
            Creates a Mono debug symbol resolver.
            </summary>
      <param name="avoidLocks">If true, avoids taking a lock on the PDB files but may use more memory or storage.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.MonoDebugSymbolResolver.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.MonoDebugSymbolResolver.GetSourceLocationForMethod(System.String,System.Int32)">
      <summary>
            Gets the location of a source file that contains the declaration of a method, or
            null if not available.
            </summary>
      <param name="assemblyPath">The path of the assembly that contains the method.</param>
      <param name="methodToken">The method token.</param>
      <returns>The source code location, or null if unknown.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.ReflectorAttributeUtils">
      <summary>
            Provides helpers for enumerating attributes taking into account
            the attribute inheritance structure.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorAttributeUtils.CreateAttribute(Gallio.Common.Reflection.IAttributeInfo,System.Boolean)">
      <summary>
            Creates an attribute instance from an <see cref="T:Gallio.Common.Reflection.IAttributeInfo" />.
            </summary>
      <param name="attribute">The attribute description.</param>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise the result may include unresolved types, enums or arrays.</param>
      <returns>The attribute instance.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the attribute could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorAttributeUtils.IsAttributeField(Gallio.Common.Reflection.IFieldInfo)">
      <summary>
            Returns true if the field is assignable as a named attribute parameter.
            </summary>
      <param name="field">The field.</param>
      <returns>True if the field is assignable.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorAttributeUtils.IsAttributeProperty(Gallio.Common.Reflection.IPropertyInfo)">
      <summary>
            Returns true if the property is assignable as a named attribute parameter.
            </summary>
      <param name="property">The property.</param>
      <returns>True if the property is assignable.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils">
      <summary>
            Provides helpers for manipulating reflection flags enumerations.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.CallingConventions@,System.Reflection.CallingConventions,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.FieldAttributes@,System.Reflection.FieldAttributes,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.GenericParameterAttributes@,System.Reflection.GenericParameterAttributes,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.MethodAttributes@,System.Reflection.MethodAttributes,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.ParameterAttributes@,System.Reflection.ParameterAttributes,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.PropertyAttributes@,System.Reflection.PropertyAttributes,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorFlagsUtils.AddFlagIfTrue(System.Reflection.TypeAttributes@,System.Reflection.TypeAttributes,System.Boolean)">
      <summary>
            Adds <paramref name="flagToAdd" /> to the <paramref name="flags" /> enumeration
            if <paramref name="condition" /> is true.
            </summary>
      <param name="flags">The flags enumeration to update.</param>
      <param name="flagToAdd">The flag to add if <paramref name="condition" /> is true.</param>
      <param name="condition">The condition to check.</param>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.ReflectorResolveUtils">
      <summary>
            Provides helpers for resolving abstract reflection objects to obtain
            native ones based on the structural properties of the reflected
            code elements.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Reflection.Impl.ReflectorResolveUtils" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveAssembly(Gallio.Common.Reflection.IAssemblyInfo,System.Boolean,System.Boolean)">
      <summary>
            Resolves a reflected assembly to its native <see cref="T:System.Reflection.Assembly" /> object.
            </summary>
      <param name="assembly">The reflected assembly.</param>
      <param name="fallbackOnPartialName">If true, allows the assembly to be resolved
            by partial name if no match could be found by fullname.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved assembly object that can be detected
            using <see cref="M:Gallio.Common.Reflection.Reflector.IsUnresolved(System.Reflection.Assembly)" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.Assembly" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="assembly" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveConstructor(Gallio.Common.Reflection.IConstructorInfo,System.Boolean)">
      <summary>
            Resolves a reflected constructor to its native <see cref="T:System.Reflection.ConstructorInfo" /> object.
            </summary>
      <param name="constructor">The reflected constructor.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Reflection.ConstructorInfo" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.ConstructorInfo" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="constructor" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="constructor" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveEvent(Gallio.Common.Reflection.IEventInfo,System.Boolean)">
      <summary>
            Resolves a reflected event to its native <see cref="T:System.Reflection.EventInfo" /> object.
            </summary>
      <param name="event">The reflected event.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Reflection.EventInfo" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.EventInfo" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="event" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="event" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveField(Gallio.Common.Reflection.IFieldInfo,System.Boolean)">
      <summary>
            Resolves a reflected field to its native <see cref="T:System.Reflection.FieldInfo" /> object.
            </summary>
      <param name="field">The reflected type.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Reflection.FieldInfo" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.FieldInfo" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="field" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="field" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveMethod(Gallio.Common.Reflection.IMethodInfo,System.Boolean)">
      <summary>
            Resolves a reflected method to its native <see cref="T:System.Reflection.MethodInfo" /> object.
            </summary>
      <param name="method">The reflected method.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Reflection.MethodInfo" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.MethodInfo" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="method" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="method" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveParameter(Gallio.Common.Reflection.IParameterInfo,System.Boolean)">
      <summary>
            Resolves a reflected parameter to its native <see cref="T:System.Reflection.ParameterInfo" /> object.
            </summary>
      <param name="parameter">The reflected parameter.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Reflection.ParameterInfo" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.ParameterInfo" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameter" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="parameter" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveProperty(Gallio.Common.Reflection.IPropertyInfo,System.Boolean)">
      <summary>
            Resolves a reflected property to its native <see cref="T:System.Reflection.PropertyInfo" /> object.
            </summary>
      <param name="property">The reflected property.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Reflection.PropertyInfo" />.</param>
      <returns>The resolved <see cref="T:System.Reflection.PropertyInfo" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="property" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="property" />
            could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorResolveUtils.ResolveType(Gallio.Common.Reflection.Impl.IResolvableTypeInfo,System.Reflection.MethodInfo,System.Boolean)">
      <summary>
            Resolves a reflected type to its native <see cref="T:System.Type" /> object.
            </summary>
      <param name="type">The reflected type.</param>
      <param name="methodContext">The method that is currently in scope, or null if none.
            This parameter is used when resolving types that are part of the signature
            of a generic method so that generic method arguments can be handled correctly.</param>
      <param name="throwOnError">If true, throws an exception if resolution fails,
            otherwise returns an unresolved <see cref="T:System.Type" />.</param>
      <returns>The resolved <see cref="T:System.Type" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" />
            is null.</exception>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if <paramref name="type" />
            could not be resolved.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.ReflectorTypeUtils">
      <summary>
            Provides helpers for working with types and type codes.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorTypeUtils.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Reflection.Impl.ReflectorTypeUtils" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorTypeUtils.GetDefaultValue(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Gets the default value for a reflected type.
            </summary>
      <param name="type">The reflected type.</param>
      <returns>The default value for the type, such as <c>0</c> if
            the type represents an integer, or <c>null</c> if the type
            is a reference type or if <paramref name="type" /> was null.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.ReflectorTypeUtils.GetTypeCode(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Determines the type code of a reflected type based on the
            type's name.
            </summary>
      <param name="type">The reflected type, or null if none.</param>
      <returns>The type code of the type, or <see cref="F:System.TypeCode.Empty" />
            if <paramref name="type" /> was null.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> array type wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,Gallio.Common.Reflection.Impl.StaticTypeWrapper,System.Int32)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="elementType">The element type.</param>
      <param name="arrayRank">The array rank.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="elementType" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="arrayRank" /> is less than 1.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper.ArrayRank">
      <summary>
            Gets the rank of the array type.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the type is not an array type.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper.Equals(System.Object)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper.GetHashCode"></member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper.IsArray">
      <summary>
            Returns true if the type represents an array.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticArrayTypeWrapper.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> assembly wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.CodeReference">
      <summary>
            Gets a <see cref="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference" /> for this code element.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.Equals(Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.FullName">
      <summary>
            Gets the full name of the assembly.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.GetCodeLocation">
      <summary>
            Gets the location of a resource that contains the declaration of this code element, or
            <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.  The location may refer to the code
            element's source code or to the location of its compiled assembly.
            </summary>
      <returns>The code location.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.GetExportedTypes">
      <summary>
            Gets the public types exported by the assembly.
            </summary>
      <returns>The exported types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.GetName">
      <summary>
            Gets the <see cref="T:System.Reflection.AssemblyName" /> of the assembly.
            </summary>
      <returns>The assembly name.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.GetReferencedAssemblies">
      <summary>
            Gets the names of the assemblies referenced by this assembly.
            </summary>
      <returns>The names of the references assemblies.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.GetType(System.String)">
      <summary>
            Gets a public type by name, or null if not found.
            </summary>
      <param name="typeName">The type name.</param>
      <returns>The type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.GetTypes">
      <summary>
            Gets all of the types in an assembly.
            </summary>
      <returns>The types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.IsAssemblyVisibleTo(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Returns true if the internal members of this assembly are visible to the specified assembly.
            </summary>
      <param name="other">The other assembly.</param>
      <returns>True if the other assembly can see internal members of this assembly.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.Path">
      <summary>
            Gets the codebase of the assembly as a local path if possible or as a Uri otherwise.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAssemblyWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticAttributeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> attribute wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.Constructor">
      <summary>
            Gets the constructor used to create the attribute.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown if not supported.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.GetFieldValue(System.String)">
      <summary>
            Gets an attribute field value.
            </summary>
      <param name="name">The field name.</param>
      <returns>The value, or a default value of the field's type if the field with the specified name
            was not initialized by the attribute declaration.</returns>
      <exception cref="T:System.ArgumentException">Thrown if there is no writable instance field with the specified name.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.GetPropertyValue(System.String)">
      <summary>
            Gets an attribute property value.
            </summary>
      <param name="name">The property name.</param>
      <returns>The value, or a default value of the propery's type if the property with the specified name was not
            initialized by the attribute declaration.</returns>
      <exception cref="T:System.ArgumentException">Thrown if there is no writable instance property with the specified name.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.InitializedArgumentValues">
      <summary>
            Gets the initialized attribute constructor argument values.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown if not supported.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.InitializedFieldValues">
      <summary>
            Gets the initialized attribute field values.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.InitializedPropertyValues">
      <summary>
            Gets the initialized attribute property values.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.Resolve(System.Boolean)">
      <summary>
            Gets the attribute as an object.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise the result may include unresolved types, enums or arrays
            though it still may throw an exception if the attribute class cannot be instantiated.</param>
      <returns>The attribute.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the attribute could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticAttributeWrapper.Type">
      <summary>
            Gets the attribute type.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticByRefTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> by-ref type wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticByRefTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,Gallio.Common.Reflection.Impl.StaticTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="elementType">The element type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="elementType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticByRefTypeWrapper.Equals(System.Object)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticByRefTypeWrapper.GetHashCode"></member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticByRefTypeWrapper.IsByRef">
      <summary>
            Returns true if the type represents a type that is passed by reference.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticByRefTypeWrapper.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> code element wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.CodeReference">
      <summary>
            Gets a <see cref="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference" /> for this code element.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.Equals(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetAttributeInfos(Gallio.Common.Reflection.ITypeInfo,System.Boolean)">
      <summary>
            Gets information about the code element's custom attributes of the specified type.
            </summary>
      <param name="attributeType">The attribute type, or null to return attributes of all types.</param>
      <param name="inherit">If true, includes inherited attributes
            from base types (but not from interfaces, just like <see cref="T:System.Reflection.ICustomAttributeProvider" /> does).</param>
      <returns>The code element's attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetAttributes(Gallio.Common.Reflection.ITypeInfo,System.Boolean)">
      <summary>
            Gets the code element's custom attributes of the specified type.
            </summary>
      <param name="attributeType">The attribute type.</param>
      <param name="inherit">If true, includes inherited attributes
            from base types (but not from interfaces, just like <see cref="T:System.Reflection.ICustomAttributeProvider" /> does).</param>
      <returns>The attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetCodeLocation">
      <summary>
            Gets the location of a resource that contains the declaration of this code element, or
            <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.  The location may refer to the code
            element's source code or to the location of its compiled assembly.
            </summary>
      <returns>The code location.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetCustomAttributes">
      <summary>
            Gets all attributes that appear on this code element, excluding inherited attributes.
            </summary>
      <returns>The attribute wrappers.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetInheritedElements">
      <summary>
            Gets an enumeration of elements from which this code element inherits.
            </summary>
      <returns>The inherited code elements.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetPseudoCustomAttributes">
      <summary>
            Gets all pseudo custom attributes associated with a member.
            </summary>
      <returns>The pseudo custom attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.GetXmlDocumentation">
      <summary>
            Gets the XML documentation associated with the code element.
            </summary>
      <returns>The XML documentation or null if none available.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.HasAttribute(Gallio.Common.Reflection.ITypeInfo,System.Boolean)">
      <summary>
            Returns true if the code element has a custom attribute of the specified type.
            </summary>
      <param name="attributeType">The attribute type, or null to search for attributes of all types.</param>
      <param name="inherit">If true, includes inherited attributes
            from base types (but not from interfaces, just like <see cref="T:System.Reflection.ICustomAttributeProvider" /> does).</param>
      <returns>True if the code element has at least one attribute of the specified type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticCodeElementWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> constructed type wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,Gallio.Common.Reflection.Impl.StaticTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="elementType">The element type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="elementType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.Assembly">
      <summary>
            Gets the assembly in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.ContainsGenericParameters">
      <summary>
            Returns true if the type contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.ElementType">
      <summary>
            Gets the element type, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.FullName">
      <summary>
            Gets the full name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.GetCodeLocation">
      <summary>
            Gets the location of a resource that contains the declaration of this code element, or
            <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.  The location may refer to the code
            element's source code or to the location of its compiled assembly.
            </summary>
      <returns>The code location.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.GetCustomAttributes">
      <summary>
            Gets all attributes that appear on this code element, excluding inherited attributes.
            </summary>
      <returns>The attribute wrappers.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.NamespaceName">
      <summary>
            Gets the name of the namespace in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.NameSuffix">
      <summary>
            Gets the suffix to append to the name of the constructed type.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructedTypeWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticConstructorWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> constructor wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructorWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            or <paramref name="declaringType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructorWrapper.Equals(Gallio.Common.Reflection.IConstructorInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticConstructorWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructorWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticConstructorWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> declared type wrapper such as a
            class, struct, enum or interface definition.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type, or null if none.</param>
      <param name="substitution">The type substitution for generic parameters.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.Assembly">
      <summary>
            Gets the assembly in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.BaseType">
      <summary>
            Gets the base type, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.ComposeSubstitution(Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Composes the substitution of the type with the specified substitution and returns a new wrapper.
            </summary>
      <param name="substitution">The substitution.</param>
      <returns>The new wrapper with the composed substitution.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.ContainsGenericParameters">
      <summary>
            Returns true if the type contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.FullName">
      <summary>
            Gets the full name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GenericArguments">
      <summary>
            Gets the generic arguments of the type.
            The list may contain <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects when
            no type has yet been bound to a certain generic parameter slots.
            </summary>
      <returns>The generic arguments, or an empty list if there are none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GenericTypeDefinition">
      <summary>
            Gets the generic type definition of this type, or null if the type is not generic.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetAllBaseTypes">
      <summary>
            Gets an enumeration of all base types.
            </summary>
      <returns>The enumeration of base types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetConstructors(System.Reflection.BindingFlags)">
      <summary>
            Gets all constructors of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The constructors.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetEvent(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a event by name, or null if not found.
            </summary>
      <param name="eventName">The event name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The event.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetEvents(System.Reflection.BindingFlags)">
      <summary>
            Gets all events of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The events.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetField(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a field by name, or null if not found.
            </summary>
      <param name="fieldName">The field name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetFields(System.Reflection.BindingFlags)">
      <summary>
            Gets all fields of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The fields.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetMethod(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a method by name, or null if not found.
            </summary>
      <param name="methodName">The method name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The method.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetMethods(System.Reflection.BindingFlags)">
      <summary>
            Gets all methods of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The methods.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetNestedType(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a nested type by name, or null if not found.
            </summary>
      <param name="nestedTypeName">The nested type name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetNestedTypes(System.Reflection.BindingFlags)">
      <summary>
            Gets all nested types of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetProperties(System.Reflection.BindingFlags)">
      <summary>
            Gets all properties of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The properties.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.GetProperty(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a property by name, or null if not found.
            </summary>
      <param name="propertyName">The property name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.Interfaces">
      <summary>
            Gets all of the type's interfaces.
            </summary>
      <returns>The type's interfaces.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.IsGenericType">
      <summary>
            Returns true if the type is a generic type.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will be non-empty.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.IsGenericTypeDefinition">
      <summary>
            Returns true if the type is a generic type definition.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.MakeGenericType(System.Collections.Generic.IList{Gallio.Common.Reflection.ITypeInfo})">
      <summary>
            Makes a generic type instantiation.
            </summary>
      <param name="genericArguments">The generic arguments.</param>
      <returns>The generic type instantiation.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.NamespaceName">
      <summary>
            Gets the name of the namespace in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.Substitution">
      <summary>
            Gets the type substitution for generic parameters.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticEventWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> event wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticEventWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <param name="reflectedType">The reflected type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            <paramref name="declaringType" />, or <paramref name="reflectedType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticEventWrapper.AddMethod">
      <summary>
            Gets the add method of the event, or null if none.
            </summary>
      <returns>The add method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticEventWrapper.Equals(Gallio.Common.Reflection.IEventInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticEventWrapper.EventAttributes">
      <summary>
            Gets the event attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticEventWrapper.EventHandlerType">
      <summary>
            Gets the event handler type.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticEventWrapper.GetOverridenOrHiddenEvents(System.Boolean)">
      <summary>
            Gets the events that this one overrides or hides.
            Only includes overrides that appear on class types, not interfaces.
            </summary>
      <param name="overridesOnly">If true, only returns overrides.</param>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticEventWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticEventWrapper.RaiseMethod">
      <summary>
            Gets the raise method of the event, or null if none.
            </summary>
      <returns>The raise method, or null if none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticEventWrapper.RemoveMethod">
      <summary>
            Gets the remove method of the event, or null if none.
            </summary>
      <returns>The remove method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticEventWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticEventWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticFieldWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> field wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFieldWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <param name="reflectedType">The reflected type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            <paramref name="declaringType" />, or <paramref name="reflectedType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFieldWrapper.Equals(Gallio.Common.Reflection.IFieldInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFieldWrapper.Equals(Gallio.Common.Reflection.ISlotInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.FieldAttributes">
      <summary>
            Gets the field attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsAssembly">
      <summary>
            Gets a value indicating whether this field has Assembly level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsFamily">
      <summary>
            Gets a value indicating whether this field has Family level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsFamilyAndAssembly">
      <summary>
            Gets a value indicating whether this field has FamilyAndAssembly level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsFamilyOrAssembly">
      <summary>
            Gets a value indicating whether this field has FamilyOrAssembly level visibility.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsInitOnly">
      <summary>
            Returns true if the field is read-only and can only be set from the constructor.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsLiteral">
      <summary>
            Returns true if the field is a literal set at compile time.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsPrivate">
      <summary>
            Gets a value indicating whether the field is private.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsPublic">
      <summary>
            Gets a value indicating whether the field is public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.IsStatic">
      <summary>
            Returns true if the field is static.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.Position">
      <summary>
            Gets the positional index of a method parameter slot, -1 if the
            slot is a method return parameter, or 0 if the slot is of some other kind.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFieldWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFieldWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFieldWrapper.ValueType">
      <summary>
            Gets the type of value held in the slot.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticFunctionWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> function wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <param name="reflectedType">The reflected type, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            <paramref name="declaringType" />, or <paramref name="reflectedType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.CallingConvention">
      <summary>
            Gets the calling conventions for this method.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.Equals(Gallio.Common.Reflection.IFunctionInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsAbstract">
      <summary>
            Returns true if the method is abstract.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsAssembly">
      <summary>
            Gets a value indicating whether this method can be called by other classes in the same assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsFamily">
      <summary>
            Gets a value indicating whether access to this method is restricted to members of the class and members of its derived classes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsFamilyAndAssembly">
      <summary>
            Gets a value indicating whether this method can be called by derived classes if they are in the same assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsFamilyOrAssembly">
      <summary>
            Gets a value indicating whether this method can be called by derived classes, wherever they are, and by all classes in the same assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsFinal">
      <summary>
            Returns true if the method is final.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsHideBySig">
      <summary>
            Gets a value indicating whether only a member of the same kind with exactly the same signature is hidden in the derived class.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsPrivate">
      <summary>
            Gets a value indicating whether this member is private.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsPublic">
      <summary>
            Gets a value indicating whether this is a public method.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsStatic">
      <summary>
            Returns true if the method is static.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.IsVirtual">
      <summary>
            Gets a value indicating whether the method is virtual.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.MethodAttributes">
      <summary>
            Gets the method attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.Parameters">
      <summary>
            Gets the parameters of the function.
            </summary>
      <returns>The parameters.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.ResolveMemberInfo(System.Boolean)">
      <summary>
            Implementation of <see cref="M:Gallio.Common.Reflection.IMemberInfo.Resolve(System.Boolean)" /></summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticFunctionWrapper.ResolveMethodBase(System.Boolean)">
      <summary>
            Implementation of <see cref="M:Gallio.Common.Reflection.IFunctionInfo.Resolve(System.Boolean)" /></summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> generic parameter wrapper.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.Assembly">
      <summary>
            Gets the assembly in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.AssemblyQualifiedName">
      <summary>
            Gets the assembly-qualified name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.Constraints">
      <summary>
            Gets the constraints of the generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.ContainsGenericParameters">
      <summary>
            Returns true if the type contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.CreateGenericMethodParameter(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticMethodWrapper)">
      <summary>
            Creates a wrapper for a generic method parameter.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringMethod">The declaring method, which must be a generic method definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />
            or <paramref name="declaringMethod" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.CreateGenericTypeParameter(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper for a generic type parameter.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type, which must be a generic type definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />
            or <paramref name="declaringType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.DeclaringMethod">
      <summary>
            Gets the declaring method, or null if the generic parameter belongs to a type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.DeclaringType">
      <summary>
            Gets the declaring type, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.Equals(Gallio.Common.Reflection.IGenericParameterInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.Equals(Gallio.Common.Reflection.ISlotInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.FullName">
      <summary>
            Gets the full name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.GenericParameterAttributes">
      <summary>
            Gets the generic parameter attributes.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.GetConstructors(System.Reflection.BindingFlags)">
      <summary>
            Gets all constructors of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The constructors.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.IsGenericParameter">
      <summary>
            Returns true if the type represents a generic type parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.NamespaceName">
      <summary>
            Gets the name of the namespace in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.Position">
      <summary>
            Gets the positional index of a method parameter slot, -1 if the
            slot is a method return parameter, or 0 if the slot is of some other kind.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper.ValueType">
      <summary>
            Gets the type of value held in the slot.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticMemberWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> member wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMemberWrapper.CodeReference">
      <summary>
            Gets a <see cref="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference" /> for this code element.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMemberWrapper.DeclaringType">
      <summary>
            Gets the declaring type, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.Equals(Gallio.Common.Reflection.IMemberInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.Equals(System.Object)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.GetCodeLocation">
      <summary>
            Gets the location of a resource that contains the declaration of this code element, or
            <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.  The location may refer to the code
            element's source code or to the location of its compiled assembly.
            </summary>
      <returns>The code location.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.GetCustomAttributes">
      <summary>
            Gets all attributes that appear on this code element, excluding inherited attributes.
            </summary>
      <returns>The attribute wrappers.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.GetHashCode"></member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMemberWrapper.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMemberWrapper.ReflectedType">
      <summary>
            Gets the reflected type, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMemberWrapper.ResolveMemberInfo(System.Boolean)">
      <summary>
            Implementation of <see cref="M:Gallio.Common.Reflection.IMemberInfo.Resolve(System.Boolean)" /></summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMemberWrapper.Substitution">
      <summary>
            Gets the type substitution for generic parameters.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticMethodWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> method wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMethodWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <param name="reflectedType">The reflected type.</param>
      <param name="substitution">The type substitution for generic parameters.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            or <paramref name="declaringType" /> or <paramref name="reflectedType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.ContainsGenericParameters">
      <summary>
            Returns true if the method contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.IMethodInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.GenericArguments">
      <summary>
            Gets the generic arguments of the method.
            The list may contain <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects when
            no type has yet been bound to a certain generic parameter slots.
            </summary>
      <returns>The generic arguments.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.GenericMethodDefinition">
      <summary>
            Gets the generic method definition of this method, or null if the method is not generic.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMethodWrapper.GetOverridenOrHiddenMethods(System.Boolean)">
      <summary>
            Gets the methods that this one overrides or hides.
            Only includes overrides that appear on class types, not interfaces.
            </summary>
      <param name="overridesOnly">If true, only returns overrides.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMethodWrapper.HidesMethod(Gallio.Common.Reflection.Impl.StaticMethodWrapper)">
      <summary>
            Returns true if this method hides the specified method.
            </summary>
      <param name="other">The other method.</param>
      <returns>True if this method hides the other method.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.IsGenericMethod">
      <summary>
            Returns true if the method is a generic method.
            If so, the <see cref="P:Gallio.Common.Reflection.IMethodInfo.GenericArguments" /> list will be non-empty.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.IsGenericMethodDefinition">
      <summary>
            Returns true if the method is a generic method definition.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.IsOverride">
      <summary>
            Returns true if this method overrides another.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMethodWrapper.MakeGenericMethod(System.Collections.Generic.IList{Gallio.Common.Reflection.ITypeInfo})">
      <summary>
            Makes a generic method instantiation.
            </summary>
      <param name="genericArguments">The generic arguments.</param>
      <returns>The generic method instantiation.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMethodWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:System.NotSupportedException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.ReturnParameter">
      <summary>
            Gets the method return parameter object that contains information
            about the return value and its attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.ReturnType">
      <summary>
            Gets the method return type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticMethodWrapper.Substitution">
      <summary>
            Gets the type substitution for generic parameters.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticMethodWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticParameterWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> parameter wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticMemberWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="member">The member to which the parameter belongs.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />
            or <paramref name="member" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.CodeReference">
      <summary>
            Gets a <see cref="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference" /> for this code element.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Equals(Gallio.Common.Reflection.IParameterInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Equals(Gallio.Common.Reflection.ISlotInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Equals(System.Object)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.GetHashCode"></member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.IsIn">
      <summary>
            Gets a value indicating whether this is an input parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.IsOptional">
      <summary>
            Gets a value indicating whether this parameter is optional.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.IsOut">
      <summary>
            Gets a value indicating whether this is an output parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Member">
      <summary>
            Gets the member to which the parameter belongs.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Name">
      <summary>
            Gets the name of the code element.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.ParameterAttributes">
      <summary>
            Gets the parameter attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Position">
      <summary>
            Gets the positional index of a method parameter slot, -1 if the
            slot is a method return parameter, or 0 if the slot is of some other kind.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticParameterWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticParameterWrapper.ValueType">
      <summary>
            Gets the type of value held in the slot.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticPointerTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> pointer type wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPointerTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,Gallio.Common.Reflection.Impl.StaticTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="elementType">The element type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="elementType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPointerTypeWrapper.Equals(System.Object)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPointerTypeWrapper.GetHashCode"></member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPointerTypeWrapper.IsPointer">
      <summary>
            Returns true if the type represents a pointer.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPointerTypeWrapper.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticPropertyWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> property wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <param name="reflectedType">The reflected type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            <paramref name="declaringType" />, or <paramref name="reflectedType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.CanRead">
      <summary>
            Returns true if the property can be read.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.CanWrite">
      <summary>
            Returns true if the property can be written.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.Equals(Gallio.Common.Reflection.IPropertyInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.Equals(Gallio.Common.Reflection.ISlotInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.GetMethod">
      <summary>
            Gets the get method of the property, or null if none.
            </summary>
      <returns>The get method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.GetOverridenOrHiddenProperties(System.Boolean)">
      <summary>
            Gets the properties that this one overrides or hides.
            Only includes overrides that appear on class types, not interfaces.
            </summary>
      <param name="overridesOnly">If true, only returns overrides.</param>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.IndexParameters">
      <summary>
            Gets the list of index parameters for an indexer property, or
            an empty array if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.Position">
      <summary>
            Gets the positional index of a method parameter slot, -1 if the
            slot is a method return parameter, or 0 if the slot is of some other kind.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.PropertyAttributes">
      <summary>
            Gets the property attributes.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.SetMethod">
      <summary>
            Gets the set method of the property, or null if none.
            </summary>
      <returns>The set method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticPropertyWrapper.ValueType">
      <summary>
            Gets the type of value held in the slot.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticReflectedMemberWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> member wrapper for members that are not types,
            generic parameters or nested types.  These members must be declared by types, so
            they all share the constraint that the declaring type and reflected type must not be null.
            In particular, the reflected type may be a subtype of the declaring type in the case
            of inherited members.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectedMemberWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type.</param>
      <param name="reflectedType">The reflected type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" />, <paramref name="handle" />,
            <paramref name="declaringType" />, or <paramref name="reflectedType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticReflectedMemberWrapper.ReflectedType">
      <summary>
            Gets the reflected type, or null if none.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy">
      <summary>
            The static reflection policy base class is intended to assist with the implementation
            of custom reflection policies defined over static metadata.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.Equals(Gallio.Common.Reflection.Impl.StaticWrapper,Gallio.Common.Reflection.Impl.StaticWrapper)">
      <summary>
            Determines if two wrappers represent the same object.
            </summary>
      <param name="a">The first wrapper, not null.</param>
      <param name="b">The second wrapper, not null.</param>
      <returns>True if both wrapper represent the same object.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyCustomAttributes(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Gets the custom attributes of an assembly.
            </summary>
      <param name="assembly">The assembly, not null.</param>
      <returns>The attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyExportedTypes(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Gets the public types exported by an assembly.
            </summary>
      <param name="assembly">The assembly wrapper, not null.</param>
      <returns>The types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyName(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Gets the name of an assembly.
            </summary>
      <param name="assembly">The assembly wrapper, not null.</param>
      <returns>The assembly name.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyPath(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Gets the path of an assembly.
            </summary>
      <param name="assembly">The assembly wrapper, not null.</param>
      <returns>The assembly path.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyReferences(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Gets the references of an assembly.
            </summary>
      <param name="assembly">The assembly wrapper, not null.</param>
      <returns>The assembly references.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyType(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper,System.String)">
      <summary>
            Gets the specified named type within an assembly.
            </summary>
      <param name="assembly">The assembly wrapper, not null.</param>
      <param name="typeName">The type name, not null.</param>
      <returns>The type, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAssemblyTypes(Gallio.Common.Reflection.Impl.StaticAssemblyWrapper)">
      <summary>
            Gets all types contained in an assembly.
            </summary>
      <param name="assembly">The assembly wrapper, not null.</param>
      <returns>The types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAttributeConstructor(Gallio.Common.Reflection.Impl.StaticAttributeWrapper)">
      <summary>
            Gets the constructor of an attribute.
            </summary>
      <param name="attribute">The attribute, not null.</param>
      <returns>The constructor.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAttributeConstructorArguments(Gallio.Common.Reflection.Impl.StaticAttributeWrapper)">
      <summary>
            Gets the constructor arguments of an attribute.
            </summary>
      <param name="attribute">The attribute, not null.</param>
      <returns>The constructor argument values.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAttributeFieldArguments(Gallio.Common.Reflection.Impl.StaticAttributeWrapper)">
      <summary>
            Gets the field arguments of an attribute.
            </summary>
      <param name="attribute">The attribute, not null.</param>
      <returns>The field argument values.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetAttributePropertyArguments(Gallio.Common.Reflection.Impl.StaticAttributeWrapper)">
      <summary>
            Gets the property arguments of an attribute.
            </summary>
      <param name="attribute">The attribute, not null.</param>
      <returns>The property argument values.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetEventAddMethod(Gallio.Common.Reflection.Impl.StaticEventWrapper)">
      <summary>
            Gets the add method of an event, or null if none.
            </summary>
      <param name="event">The event, not null.</param>
      <returns>The add method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetEventAttributes(Gallio.Common.Reflection.Impl.StaticEventWrapper)">
      <summary>
            Gets the attributes of an event.
            </summary>
      <param name="event">The event, not null.</param>
      <returns>The event attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetEventHandlerType(Gallio.Common.Reflection.Impl.StaticEventWrapper)">
      <summary>
            Gets the event handler type of an event.
            </summary>
      <param name="event">The event, not null.</param>
      <returns>The event handler type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetEventRaiseMethod(Gallio.Common.Reflection.Impl.StaticEventWrapper)">
      <summary>
            Gets the raise method of an event, or null if none.
            </summary>
      <param name="event">The event, not null.</param>
      <returns>The raise method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetEventRemoveMethod(Gallio.Common.Reflection.Impl.StaticEventWrapper)">
      <summary>
            Gets the remove method of an event, or null if none.
            </summary>
      <param name="event">The event, not null.</param>
      <returns>The remove method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetFieldAttributes(Gallio.Common.Reflection.Impl.StaticFieldWrapper)">
      <summary>
            Gets the attributes of a field.
            </summary>
      <param name="field">The field, not null.</param>
      <returns>The field attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetFieldType(Gallio.Common.Reflection.Impl.StaticFieldWrapper)">
      <summary>
            Gets the field type.
            </summary>
      <param name="field">The field, not null.</param>
      <returns>The field type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetFunctionAttributes(Gallio.Common.Reflection.Impl.StaticFunctionWrapper)">
      <summary>
            Gets the attributes of a function.
            </summary>
      <param name="function">The function, not null.</param>
      <returns>The function attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetFunctionCallingConvention(Gallio.Common.Reflection.Impl.StaticFunctionWrapper)">
      <summary>
            Gets the calling conventions of a function.
            </summary>
      <param name="function">The function, not null.</param>
      <returns>The function calling conventions.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetFunctionParameters(Gallio.Common.Reflection.Impl.StaticFunctionWrapper)">
      <summary>
            Gets the parameters of a function.
            </summary>
      <param name="function">The function, not null.</param>
      <returns>The parameters.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetGenericParameterAttributes(Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper)">
      <summary>
            Gets the attributes of a generic parameter.
            </summary>
      <param name="genericParameter">The generic parameter, not null.</param>
      <returns>The generic parameter attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetGenericParameterConstraints(Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper)">
      <summary>
            Gets the generic parameter constraints.
            </summary>
      <param name="genericParameter">The generic parameter, not null.</param>
      <returns>The generic parameter constraints.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetGenericParameterPosition(Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper)">
      <summary>
            Gets the generic parameter position.
            </summary>
      <param name="genericParameter">The generic parameter, not null.</param>
      <returns>The generic parameter position.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetHashCode(Gallio.Common.Reflection.Impl.StaticWrapper)">
      <summary>
            Gets a hashcode for a wrapper.
            </summary>
      <param name="wrapper">The wrapper, not null.</param>
      <returns>The wrapper's hash code.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetMemberCustomAttributes(Gallio.Common.Reflection.Impl.StaticMemberWrapper)">
      <summary>
            Gets the custom attributes of a member.
            </summary>
      <param name="member">The member, not null.</param>
      <returns>The custom attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetMemberName(Gallio.Common.Reflection.Impl.StaticMemberWrapper)">
      <summary>
            Gets the short name of a member.
            In the case of a generic type, should exclude the generic parameter count
            part of the name.  eg. "`1"
            </summary>
      <param name="member">The member, not null.</param>
      <returns>The member's name.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetMemberSourceLocation(Gallio.Common.Reflection.Impl.StaticMemberWrapper)">
      <summary>
            Gets the source code location of a member.
            </summary>
      <param name="member">The member, not null.</param>
      <returns>The source code location, or <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetMethodGenericParameters(Gallio.Common.Reflection.Impl.StaticMethodWrapper)">
      <summary>
            Gets the generic parameters of a method.
            </summary>
      <param name="method">The method, not null.</param>
      <returns>The generic parameters.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetMethodReturnParameter(Gallio.Common.Reflection.Impl.StaticMethodWrapper)">
      <summary>
            Gets the return parameter of a method.
            </summary>
      <param name="method">The method, not null.</param>
      <returns>The return parameter.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetParameterAttributes(Gallio.Common.Reflection.Impl.StaticParameterWrapper)">
      <summary>
            Gets the attributes of a parameter.
            </summary>
      <param name="parameter">The parameter, not null.</param>
      <returns>The parameter attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetParameterCustomAttributes(Gallio.Common.Reflection.Impl.StaticParameterWrapper)">
      <summary>
            Gets the custom attributes of a parameter.
            </summary>
      <param name="parameter">The parameter, not null.</param>
      <returns>The custom attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetParameterName(Gallio.Common.Reflection.Impl.StaticParameterWrapper)">
      <summary>
            Gets the name of a parameter.
            </summary>
      <param name="parameter">The parameter, not null.</param>
      <returns>The parameter's name.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetParameterPosition(Gallio.Common.Reflection.Impl.StaticParameterWrapper)">
      <summary>
            Gets the parameter's position, or -1 if the parameter is a return value.
            </summary>
      <param name="parameter">The parameter, not null.</param>
      <returns>The parameter's position.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetParameterType(Gallio.Common.Reflection.Impl.StaticParameterWrapper)">
      <summary>
            Gets the parameter type.
            </summary>
      <param name="parameter">The parameter, not null.</param>
      <returns>The parameter type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetPropertyAttributes(Gallio.Common.Reflection.Impl.StaticPropertyWrapper)">
      <summary>
            Gets the attributes of a property.
            </summary>
      <param name="property">The property, not null.</param>
      <returns>The property attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetPropertyGetMethod(Gallio.Common.Reflection.Impl.StaticPropertyWrapper)">
      <summary>
            Gets the get method of a property, or null if none.
            </summary>
      <param name="property">The property, not null.</param>
      <returns>The get method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetPropertySetMethod(Gallio.Common.Reflection.Impl.StaticPropertyWrapper)">
      <summary>
            Gets the set method of a property, or null if none.
            </summary>
      <param name="property">The property, not null.</param>
      <returns>The set method, or null if none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetPropertyType(Gallio.Common.Reflection.Impl.StaticPropertyWrapper)">
      <summary>
            Gets the property type.
            </summary>
      <param name="property">The property, not null.</param>
      <returns>The property type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeAssembly(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the assembly that contains a type.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type's assembly.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeAttributes(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the attributes of a type.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type attributes.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeBaseType(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the base type of atype.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The base type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeConstructors(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the constructors of a type.
            Only includes declared methods, not inherited ones.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type's constructors.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeEvents(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the events of a type.
            Only includes declared methods, not inherited ones.
            </summary>
      <param name="type">The type, not null.</param>
      <param name="reflectedType">The reflected type, not null.</param>
      <returns>The type's events.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeFields(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the fields of a type.
            Only includes declared methods, not inherited ones.
            </summary>
      <param name="type">The type, not null.</param>
      <param name="reflectedType">The reflected type, not null.</param>
      <returns>The type's fields.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeGenericParameters(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the generic parameters of a type, including all generic parameters
            of its declaring types if it is nested enumerated from outside in.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type's generic parameters.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeInterfaces(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the interfaces directly implemented by a type.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type's interfaces.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeMethods(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the methods of a type including accessor methods for properties and events.
            Only includes declared methods, not inherited ones.
            </summary>
      <param name="type">The type, not null.</param>
      <param name="reflectedType">The reflected type, not null.</param>
      <returns>The type's methods.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeNamespace(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the namespace that contains a type.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type's namespace, or an empty string if it has none.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeNestedTypes(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the nested types of a type.
            Only includes declared nested types, not inherited ones.
            </summary>
      <param name="type">The type, not null.</param>
      <returns>The type's nested types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.GetTypeProperties(Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Gets the properties of a type.
            Only includes declared methods, not inherited ones.
            </summary>
      <param name="type">The type, not null.</param>
      <param name="reflectedType">The reflected type, not null.</param>
      <returns>The type's properties.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> type wrapper that represents a special type
            that is either constructed from other types or derived from them as with a generic parameter.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.BaseTypeInternal">
      <summary>
            Internal implementation of <see cref="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.BaseType" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetConstructors(System.Reflection.BindingFlags)">
      <summary>
            Gets all constructors of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The constructors.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetEvent(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a event by name, or null if not found.
            </summary>
      <param name="eventName">The event name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The event.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetEvents(System.Reflection.BindingFlags)">
      <summary>
            Gets all events of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The events.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetField(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a field by name, or null if not found.
            </summary>
      <param name="fieldName">The field name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetFields(System.Reflection.BindingFlags)">
      <summary>
            Gets all fields of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The fields.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetMethod(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a method by name, or null if not found.
            </summary>
      <param name="methodName">The method name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The method.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetMethods(System.Reflection.BindingFlags)">
      <summary>
            Gets all methods of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The methods.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetNestedType(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a nested type by name, or null if not found.
            </summary>
      <param name="nestedTypeName">The nested type name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetNestedTypes(System.Reflection.BindingFlags)">
      <summary>
            Gets all nested types of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetProperties(System.Reflection.BindingFlags)">
      <summary>
            Gets all properties of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The properties.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetProperty(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a property by name, or null if not found.
            </summary>
      <param name="propertyName">The property name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.GetPseudoCustomAttributes">
      <summary>
            Gets all pseudo custom attributes associated with a member.
            </summary>
      <returns>The pseudo custom attributes.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.Interfaces">
      <summary>
            Gets all of the type's interfaces.
            </summary>
      <returns>The type's interfaces.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticSpecialTypeWrapper.Substitution">
      <summary>
            Gets the type substitution for generic parameters.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticTypeSubstitution">
      <summary>
            A type substitution specifies how generic parameters are replaced by other types.
            It is used by implementors of <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> when returning
            types that may be represented as generic parameters.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Apply(Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper)">
      <summary>
            Applies a type substitution to the specified generic parameter.
            </summary>
      <param name="type">The generic parameter to substitute.</param>
      <returns>The substituted type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Apply(Gallio.Common.Reflection.Impl.StaticTypeWrapper)">
      <summary>
            Applies a type substitution to the specified type.
            </summary>
      <param name="type">The type to substitute.</param>
      <returns>The substituted type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.ApplyAll``1(System.Collections.Generic.IList{``0})">
      <summary>
            Applies a type substitution to the specified list of types.
            </summary>
      <param name="types">The types to substitute.</param>
      <returns>The substituted types.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="types" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Compose(Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Returns a new substitution formed by composing this substitution with the specified one.
            That is to say, each replacement type in this substitution is replaced as described
            in the specified substitution.
            </summary>
      <param name="substitution">The substitution to compose.</param>
      <returns>The new substitution.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.DoesNotContainAny(System.Collections.Generic.IList{Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper})">
      <summary>
            Returns true if this substitution does not contain any of the specified generic parameters.
            </summary>
      <param name="genericParameters">The generic parameters.</param>
      <returns>True if none of the generic parameters are in the substitution.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="genericParameters" /> is null.</exception>
    </member>
    <member name="F:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Empty">
      <summary>
            Gets the empty type substitution.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Equals(Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.Extend(System.Collections.Generic.IList{Gallio.Common.Reflection.Impl.StaticGenericParameterWrapper},System.Collections.Generic.IList{Gallio.Common.Reflection.ITypeInfo})">
      <summary>
            Returns a new substitution with the specified generic parameters replaced by their respective generic arguments.
            </summary>
      <param name="genericParameters">The generic parameters.</param>
      <param name="genericArguments">The generic arguments.</param>
      <returns>The resulting substitution.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="genericParameters" /> or <paramref name="genericArguments" /> is null
            or contain nulls.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="genericArguments" /> does not have the same
            number of elements as <paramref name="genericParameters" />.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.IsEmpty">
      <summary>
            Returns true if the type substitution does not contain any replacements.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.op_Equality(Gallio.Common.Reflection.Impl.StaticTypeSubstitution,Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Compares two static type substitutions for equality.
            </summary>
      <param name="a">The first substitution.</param>
      <param name="b">The second substitution.</param>
      <returns>True if the substitutions are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeSubstitution.op_Inequality(Gallio.Common.Reflection.Impl.StaticTypeSubstitution,Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Compares two static type substitutions for inequality.
            </summary>
      <param name="a">The first substitution.</param>
      <param name="b">The second substitution.</param>
      <returns>True if the substitutions are equal.</returns>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticTypeWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> type wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object,Gallio.Common.Reflection.Impl.StaticDeclaredTypeWrapper)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <param name="declaringType">The declaring type, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.ApplySubstitution(Gallio.Common.Reflection.Impl.StaticTypeSubstitution)">
      <summary>
            Applies a type substitution and returns the resulting type.
            </summary>
      <param name="substitution">The substitution.</param>
      <returns>The type after substitution has been performed.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.ArrayRank">
      <summary>
            Gets the rank of the array type.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the type is not an array type.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Assembly">
      <summary>
            Gets the assembly in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.AssemblyQualifiedName">
      <summary>
            Gets the assembly-qualified name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.BaseType">
      <summary>
            Gets the base type of the type, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.BaseTypeInternal">
      <summary>
            Internal implementation of <see cref="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.BaseType" />.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.CodeReference">
      <summary>
            Gets a <see cref="P:Gallio.Common.Reflection.ICodeElementInfo.CodeReference" /> for this code element.
            </summary>
      <returns>The code reference.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.ContainsGenericParameters">
      <summary>
            Returns true if the type contains unbound generic parameters.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will contain one
            or more <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.ElementType">
      <summary>
            Gets the element type, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Equals(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.FullName">
      <summary>
            Gets the full name of the type, or null if the type is a generic parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GenericArguments">
      <summary>
            Gets the generic arguments of the type.
            The list may contain <see cref="T:Gallio.Common.Reflection.IGenericParameterInfo" /> objects when
            no type has yet been bound to a certain generic parameter slots.
            </summary>
      <returns>The generic arguments, or an empty list if there are none.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GenericTypeDefinition">
      <summary>
            Gets the generic type definition of this type, or null if the type is not generic.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetConstructors(System.Reflection.BindingFlags)">
      <summary>
            Gets all constructors of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The constructors.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetEvent(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a event by name, or null if not found.
            </summary>
      <param name="eventName">The event name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The event.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetEvents(System.Reflection.BindingFlags)">
      <summary>
            Gets all events of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The events.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetField(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a field by name, or null if not found.
            </summary>
      <param name="fieldName">The field name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetFields(System.Reflection.BindingFlags)">
      <summary>
            Gets all fields of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The fields.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetInheritedElements">
      <summary>
            Gets an enumeration of elements from which this code element inherits.
            </summary>
      <returns>The inherited code elements.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetMethod(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a method by name, or null if not found.
            </summary>
      <param name="methodName">The method name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The method.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetMethods(System.Reflection.BindingFlags)">
      <summary>
            Gets all methods of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The methods.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetNestedType(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a nested type by name, or null if not found.
            </summary>
      <param name="nestedTypeName">The nested type name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetNestedTypes(System.Reflection.BindingFlags)">
      <summary>
            Gets all nested types of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The nested types.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetProperties(System.Reflection.BindingFlags)">
      <summary>
            Gets all properties of the type that satisfy the binding flags.
            </summary>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The properties.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.GetProperty(System.String,System.Reflection.BindingFlags)">
      <summary>
            Gets a property by name, or null if not found.
            </summary>
      <param name="propertyName">The property name.</param>
      <param name="bindingFlags">The binding flags.</param>
      <returns>The property.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Interfaces">
      <summary>
            Gets all of the type's interfaces.
            </summary>
      <returns>The type's interfaces.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsAbstract">
      <summary>
            Returns true if the type is abstract and must be overridden.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsArray">
      <summary>
            Returns true if the type represents an array.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsAssignableFrom(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Returns true if variables of this type can be assigned with values of the specified type.
            </summary>
      <param name="type">The other type, or null if none.</param>
      <returns>True if the other type is not null and this type is assignable from the other type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsByRef">
      <summary>
            Returns true if the type represents a type that is passed by reference.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsClass">
      <summary>
            Returns true if the type is a class.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsEnum">
      <summary>
            Returns true if the type represents an enumeration.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsGenericParameter">
      <summary>
            Returns true if the type represents a generic type parameter.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsGenericType">
      <summary>
            Returns true if the type is a generic type.
            If so, the <see cref="P:Gallio.Common.Reflection.ITypeInfo.GenericArguments" /> list will be non-empty.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsGenericTypeDefinition">
      <summary>
            Returns true if the type is a generic type definition.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsInterface">
      <summary>
            Returns true if the type is an interface.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNested">
      <summary>
            Returns true if the type is nested.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNestedAssembly">
      <summary>
            Returns true if the type is nested and is visible only within its own assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNestedFamily">
      <summary>
            Returns true if the type is nested and visible only within its own family.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNestedFamilyAndAssembly">
      <summary>
            Returns true if the type is nested and visible only to classes that belong to both its own family and its own assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNestedFamilyOrAssembly">
      <summary>
            Returns true if the type is nested and visible only to classes that belong to either its own family or to its own assembly.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNestedPrivate">
      <summary>
            Returns true if the type is nested and declared private.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNestedPublic">
      <summary>
            Returns true if the type is nested and declared public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsNotPublic">
      <summary>
            Returns true if the type is not declared public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsPointer">
      <summary>
            Returns true if the type represents a pointer.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsPublic">
      <summary>
            Returns true if the type is declared public.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsSealed">
      <summary>
            Returns true if the type is sealed.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsSubclassOf(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Returns true if this type is a subclass of the specified type.
            </summary>
      <param name="type">The other type, or null if none.</param>
      <returns>True if the other type is not null, this type is a subclass of the other type,
            and this type not the same as the other type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.IsValueType">
      <summary>
            Returns true if the type is a value type.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Kind">
      <summary>
            Gets the kind of code element represented by this instance.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.MakeArrayType(System.Int32)">
      <summary>
            Makes an array type of the specified rank.
            </summary>
      <param name="arrayRank">The array rank.</param>
      <returns>The array type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.MakeByRefType">
      <summary>
            Makes a reference type.
            </summary>
      <returns>The reference type.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.MakeGenericType(System.Collections.Generic.IList{Gallio.Common.Reflection.ITypeInfo})">
      <summary>
            Makes a generic type instantiation.
            </summary>
      <param name="genericArguments">The generic arguments.</param>
      <returns>The generic type instantiation.</returns>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.MakePointerType">
      <summary>
            Makes a pointer type.
            </summary>
      <returns>The pointer type.</returns>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Namespace">
      <summary>
            Gets the namespace in which the type is declared.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.NamespaceName">
      <summary>
            Gets the name of the namespace in which the type is declared.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Resolve(System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target.
            </summary>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.Resolve(System.Reflection.MethodInfo,System.Boolean)">
      <summary>
            Resolves the wrapper to its native reflection target within the scope
            of the specified method.
            </summary>
      <param name="methodContext">The method that is currently in scope, or null if none.
            This parameter is used when resolving types that are part of the signature
            of a generic method so that generic method arguments can be handled correctly.</param>
      <param name="throwOnError">If true, throws an exception if the target could
            not be resolved, otherwise returns a reflection object that represents an
            unresolved member which may only support a subset of the usual operations.</param>
      <returns>The native reflection target.</returns>
      <exception cref="T:Gallio.Common.Reflection.ReflectionResolveException">Thrown if the target cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticTypeWrapper.ResolveMemberInfo(System.Boolean)">
      <summary>
            Implementation of <see cref="M:Gallio.Common.Reflection.IMemberInfo.Resolve(System.Boolean)" /></summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.TypeAttributes">
      <summary>
            Gets the type attributes.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticTypeWrapper.TypeCode">
      <summary>
            Gets the type's <see cref="P:Gallio.Common.Reflection.ITypeInfo.TypeCode" />.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.StaticWrapper">
      <summary>
            A <see cref="T:Gallio.Common.Reflection.Impl.StaticReflectionPolicy" /> wrapper.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticWrapper.#ctor(Gallio.Common.Reflection.Impl.StaticReflectionPolicy,System.Object)">
      <summary>
            Creates a wrapper.
            </summary>
      <param name="policy">The reflection policy.</param>
      <param name="handle">The underlying reflection object.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="policy" /> or <paramref name="handle" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticWrapper.Equals(Gallio.Common.Reflection.Impl.StaticWrapper)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticWrapper.Equals(System.Object)"></member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticWrapper.EqualsByHandle(Gallio.Common.Reflection.Impl.StaticWrapper)">
      <summary>
            Compares the policy and handle of this wrapper with those of another
            using <see cref="M:Gallio.Common.Reflection.Impl.StaticReflectionPolicy.Equals(Gallio.Common.Reflection.Impl.StaticWrapper,Gallio.Common.Reflection.Impl.StaticWrapper)" />.
            </summary>
      <param name="other">The other wrapper.</param>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.StaticWrapper.GetHashCode"></member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticWrapper.Handle">
      <summary>
            Gets the underlying reflection object.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.StaticWrapper.ReflectionPolicy">
      <summary>
            Gets the reflection policy.
            </summary>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory">
      <summary>
            Creates instances of unresolved reflection objects based on <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" /> wrappers.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.#ctor">
      <summary>
            Creates an instance of the factory.
            </summary>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Instance">
      <summary>
            Gets the singleton instance of the factory.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Creates an <see cref="T:System.Reflection.Assembly" /> wrapper for <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IConstructorInfo)">
      <summary>
            Creates a <see cref="T:System.Reflection.ConstructorInfo" /> wrapper for <see cref="T:Gallio.Common.Reflection.IConstructorInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved constructor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IEventInfo)">
      <summary>
            Creates a <see cref="T:System.Reflection.EventInfo" /> wrapper for <see cref="T:Gallio.Common.Reflection.IEventInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved event.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IFieldInfo)">
      <summary>
            Creates a <see cref="T:System.Reflection.FieldInfo" /> wrapper for <see cref="T:Gallio.Common.Reflection.IFieldInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved field.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Creates a <see cref="T:System.Reflection.MethodInfo" /> wrapper for <see cref="T:Gallio.Common.Reflection.IMethodInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved method.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IParameterInfo)">
      <summary>
            Creates a <see cref="T:System.Reflection.ParameterInfo" /> wrapper for <see cref="T:Gallio.Common.Reflection.IParameterInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved parameter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.IPropertyInfo)">
      <summary>
            Creates a <see cref="T:System.Reflection.PropertyInfo" /> wrapper for <see cref="T:Gallio.Common.Reflection.IPropertyInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved property.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.UnresolvedCodeElementFactory.Wrap(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Creates a <see cref="T:System.Type" /> wrapper for <see cref="T:Gallio.Common.Reflection.ITypeInfo" />.
            </summary>
      <param name="adapter">The adapter.</param>
      <returns>The unresolved type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="adapter" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Reflection.Impl.XmlDocumentationUtils">
      <summary>
            Helpers for working with <see cref="T:Gallio.Common.Reflection.Impl.IXmlDocumentationResolver" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.XmlDocumentationUtils.FormatId(System.Reflection.MemberInfo)">
      <summary>
            Gets the XML documentation id of a member.
            </summary>
      <param name="member">The member.</param>
      <returns>The XML documentation id of the member.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="member" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Reflection.Impl.XmlDocumentationUtils.GetXmlDocumentation(System.Reflection.MemberInfo)">
      <summary>
            Gets the XML documentation for a member.
            </summary>
      <param name="member">The member.</param>
      <returns>The XML documentation for the member, or null if none available.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="member" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Reflection.Impl.XmlDocumentationUtils.Resolver">
      <summary>
            Gets the XML documentation resolver.
            </summary>
    </member>
    <member name="T:Gallio.Common.Remoting.BaseChannel">
      <summary>
            Abstract base class for channels implemented using the .Net remoting infrastructure.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseChannel.#ctor(System.Runtime.Remoting.Channels.IChannel,System.Uri)">
      <summary>
            Creates a channel.
            </summary>
      <param name="channel">The .Net remoting channel.</param>
      <param name="channelUri">The root Uri associated with the channel.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="channel" /> or <paramref name="channelUri" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Remoting.BaseChannel.Channel">
      <summary>
            Gets the associated .Net remoting channel.
            </summary>
    </member>
    <member name="P:Gallio.Common.Remoting.BaseChannel.ChannelUri">
      <summary>
            Gets the root Uri associated with the channel.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseChannel.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseChannel.Dispose(System.Boolean)">
      <summary>
            Disposes the channel.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Common.Remoting.BaseChannel.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseChannel.GetServiceUri(System.String)">
      <summary>
            Gets the Uri of a service with the given name that can be accessed using this channel.
            </summary>
      <param name="serviceName">The service name.</param>
      <returns>The service uri.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.BaseClientChannel">
      <summary>
            Abstract base class for client channels implemented using the .Net
            remoting infrastructure.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseClientChannel.#ctor(System.Runtime.Remoting.Channels.IChannel,System.Uri)">
      <summary>
            Creates a channel.
            </summary>
      <param name="channel">The .Net remoting channel.</param>
      <param name="channelUri">The root Uri associated with the channel.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="channel" /> or <paramref name="channelUri" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseClientChannel.GetService(System.Type,System.String)">
      <summary>
            Gets a well-known remote service with the specified name.
            </summary>
      <param name="serviceType">The type of the service.</param>
      <param name="serviceName">The name of the service.</param>
      <returns>The component or a proxy that provides the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" />
            or <paramref name="serviceName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.BaseServerChannel">
      <summary>
            Abstract base class for client channels implemented using the .Net
            remoting infrastructure.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseServerChannel.#ctor(System.Runtime.Remoting.Channels.IChannel,System.Uri)">
      <summary>
            Creates a channel.
            </summary>
      <param name="channel">The .Net remoting channel.</param>
      <param name="channelUri">The root Uri associated with the channel.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="channel" /> or <paramref name="channelUri" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseServerChannel.Dispose(System.Boolean)">
      <summary>
            Disposes the channel.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Common.Remoting.BaseChannel.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Common.Remoting.BaseServerChannel.RegisterService(System.String,System.MarshalByRefObject)">
      <summary>
            Registers a well-known service with the specified name.
            </summary>
      <param name="serviceName">The name of the service.</param>
      <param name="component">The component that provides the service.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceName" /> or
            <paramref name="component" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.BinaryIpcClientChannel">
      <summary>
            A client channel based on an <see cref="T:System.Runtime.Remoting.Channels.Ipc.IpcClientChannel" /> that uses a
            <see cref="T:System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BinaryIpcClientChannel.#ctor(System.String)">
      <summary>
            Creates a channel.
            </summary>
      <param name="portName">The ipc port name to connect to.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="portName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.BinaryIpcServerChannel">
      <summary>
            A server channel based on an <see cref="T:System.Runtime.Remoting.Channels.Ipc.IpcServerChannel" /> that uses a
            <see cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BinaryIpcServerChannel.#ctor(System.String)">
      <summary>
            Creates a channel.
            </summary>
      <param name="portName">The ipc port name to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="portName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.BinaryTcpClientChannel">
      <summary>
            A client channel based on an <see cref="T:System.Runtime.Remoting.Channels.Tcp.TcpClientChannel" /> that uses a
            <see cref="T:System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BinaryTcpClientChannel.#ctor(System.String,System.Int32,System.Nullable{System.TimeSpan})">
      <summary>
            Creates a channel.
            </summary>
      <param name="hostName">The host name to connect to.</param>
      <param name="portNumber">The port number to connect to.</param>
      <param name="requestTimeout">The request timeout or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.BinaryTcpServerChannel">
      <summary>
            A server channel based on an <see cref="T:System.Runtime.Remoting.Channels.Tcp.TcpServerChannel" /> that uses a
            <see cref="T:System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider" />.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.BinaryTcpServerChannel.#ctor(System.String,System.Int32)">
      <summary>
            Creates a channel.
            </summary>
      <param name="hostName">The remotely accessed hostname.</param>
      <param name="portNumber">The port number.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.IClientChannel">
      <summary>
            A client channel manages the client side of a remoting channel.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.IClientChannel.GetService(System.Type,System.String)">
      <summary>
            Gets a well-known remote service with the specified name.
            </summary>
      <param name="serviceType">The type of the service.</param>
      <param name="serviceName">The name of the service.</param>
      <returns>The component or a proxy that provides the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" />
            or <paramref name="serviceName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.IServerChannel">
      <summary>
            A server channel manages the server side of a remoting channel.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.IServerChannel.RegisterService(System.String,System.MarshalByRefObject)">
      <summary>
            Registers a well-known service with the specified name.
            </summary>
      <param name="serviceName">The name of the service.</param>
      <param name="component">The component that provides the service.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceName" /> or
            <paramref name="component" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Remoting.LongLivedMarshalByRefObject">
      <summary>
            Base class for long-lived marshal by ref objects.
            </summary>
    </member>
    <member name="M:Gallio.Common.Remoting.LongLivedMarshalByRefObject.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Remoting.LongLivedMarshalByRefObject" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Remoting.LongLivedMarshalByRefObject.InitializeLifetimeService">
      <summary>
                    Obtains a lifetime service object to control the lifetime policy for this instance.
                </summary>
      <returns>
                    An object of type <see cref="T:System.Runtime.Remoting.Lifetime.ILease" /> used to control the lifetime policy for this instance. This is the current lifetime service object for this instance if one exists; otherwise, a new lifetime service object initialized to the value of the <see cref="P:System.Runtime.Remoting.Lifetime.LifetimeServices.LeaseManagerPollTime" /> property.
                </returns>
      <exception cref="T:System.Security.SecurityException">
                    The immediate caller does not have infrastructure permission. 
                </exception>
    </member>
    <member name="T:Gallio.Common.Security.Impersonation">
      <summary>
            Impersonate a user according to the specified credentials.
            </summary>
    </member>
    <member name="M:Gallio.Common.Security.Impersonation.#ctor(System.String,System.String,System.String)">
      <summary>
            Starts the impersonation process. 
            </summary>
      <param name="userName">The name of the user to impersonate.</param>
      <param name="domain">The domain where the user is defined.</param>
      <param name="password">The password.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="userName" />, <paramref name="domain" />, 
            or <paramref name="password" /> is null.</exception>
      <exception cref="T:System.ComponentModel.Win32Exception">Thrown when the impersonation process has failed.</exception>
    </member>
    <member name="M:Gallio.Common.Security.Impersonation.Dispose">
      <summary>
             Stops the impersonation process.
            </summary>
    </member>
    <member name="T:Gallio.Common.Security.ImpersonationException">
      <summary>
            An exception that expresses a problem while trying to impersonata user account.
            </summary>
    </member>
    <member name="M:Gallio.Common.Security.ImpersonationException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Security.ImpersonationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Security.ImpersonationException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Security.ImpersonationException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Text.Diff">
      <summary>
            Describes the difference between a range of the left document and a range of the right document.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Diff.#ctor(Gallio.Common.Text.DiffKind,Gallio.Common.Text.Range,Gallio.Common.Text.Range)">
      <summary>
            Creates a diff.
            </summary>
      <param name="kind">The diff kind which indicates whether there is a change over the range covered by the diff.</param>
      <param name="leftRange">The range of the left document that is affected.</param>
      <param name="rightRange">The range of the right document that is affected.</param>
    </member>
    <member name="M:Gallio.Common.Text.Diff.Equals(Gallio.Common.Text.Diff)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Text.Diff.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Text.Diff.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Common.Text.Diff.Kind">
      <summary>
            Gets the diff kind which indicateds whether there is a change over the range covered by the diff.
            </summary>
    </member>
    <member name="P:Gallio.Common.Text.Diff.LeftRange">
      <summary>
            Gets the range of the left document that is affected.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Diff.op_Equality(Gallio.Common.Text.Diff,Gallio.Common.Text.Diff)">
      <summary>
            Returns true if two diffs are equal.
            </summary>
      <param name="a">The first diff to compare.</param>
      <param name="b">The second diff to compare.</param>
      <returns>True if the diffs are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Text.Diff.op_Inequality(Gallio.Common.Text.Diff,Gallio.Common.Text.Diff)">
      <summary>
            Returns true if two diffs are not equal.
            </summary>
      <param name="a">The first diff to compare.</param>
      <param name="b">The second diff to compare.</param>
      <returns>True if the diffs are not equal.</returns>
    </member>
    <member name="P:Gallio.Common.Text.Diff.RightRange">
      <summary>
            Gets the range of the right document that is affected.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Diff.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="T:Gallio.Common.Text.DiffKind">
      <summary>
            Describes whether a difference represents a changed or unchanged region.
            </summary>
    </member>
    <member name="F:Gallio.Common.Text.DiffKind.NoChange">
      <summary>
            Indicates there is no change between the left and right documents over the ranges described by the diff.
            </summary>
    </member>
    <member name="F:Gallio.Common.Text.DiffKind.Change">
      <summary>
            Indicates there is a change between the left and right documents over the ranges described by the diff.
            Text may have been added, removed, or edited.
            </summary>
    </member>
    <member name="T:Gallio.Common.Text.DiffSet">
      <summary>
            A diff set consists of a sequence of differences between a left document and a right document
            that indicate changed and unchanged regions.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.DiffSet.#ctor(System.Collections.Generic.IList{Gallio.Common.Text.Diff},System.String,System.String)">
      <summary>
            Constructs a diff set.
            </summary>
      <param name="diffs">The list of differences that indicate the changed and
            unchanged regions between the left and right documents.  The diffs span
            the entire range of the left and right documents and are listed in document order.</param>
      <param name="leftDocument">The left document.</param>
      <param name="rightDocument">The right document.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="leftDocument" />,
            <paramref name="rightDocument" /> or <paramref name="diffs" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="diffs" /> does not
            completely cover the left and right documents or are not listed in the correct order.</exception>
    </member>
    <member name="P:Gallio.Common.Text.DiffSet.ContainsChanges">
      <summary>
            Returns true if the list of differences contains changed regions.
            </summary>
    </member>
    <member name="P:Gallio.Common.Text.DiffSet.Diffs">
      <summary>
            Gets the list of differences that indicate the changed and
            unchanged regions between the left and right documents. 
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.DiffSet.GetDiffSet(System.String,System.String)">
      <summary>
            Gets the set of differences between a left document and a right document.
            </summary>
      <param name="leftDocument">The left document.</param>
      <param name="rightDocument">The right document.</param>
      <returns>The set of differences.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="leftDocument" /> or
            <paramref name="rightDocument" /> is null.</exception>
    </member>
    <member name="P:Gallio.Common.Text.DiffSet.IsEmpty">
      <summary>
            Returns true if the list of differences is empty which can only occur when
            both document being compared are empty.
            </summary>
    </member>
    <member name="P:Gallio.Common.Text.DiffSet.LeftDocument">
      <summary>
            Gets the left document.
            </summary>
    </member>
    <member name="P:Gallio.Common.Text.DiffSet.RightDocument">
      <summary>
            Gets the right document.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.DiffSet.Simplify">
      <summary>
            Simplifies the diff for presentation.
            </summary>
      <returns>Returns a simplified diff.</returns>
    </member>
    <member name="M:Gallio.Common.Text.DiffSet.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the diffs using the <see cref="F:Gallio.Common.Text.DiffStyle.Interleaved" />
            presentation style and no limits on the context length.
            </summary>
      <param name="writer">The test log stream writer to receive the highlighted document.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref nameref="writer" /> if null.</exception>
    </member>
    <member name="M:Gallio.Common.Text.DiffSet.WriteTo(Gallio.Common.Markup.MarkupStreamWriter,Gallio.Common.Text.DiffStyle)">
      <summary>
            Writes the diffs using the specified
            presentation style and no limits on the context length.
            </summary>
      <param name="writer">The test log stream writer to receive the highlighted document.</param>
      <param name="style">The presentation style.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref nameref="writer" /> if null.</exception>
    </member>
    <member name="M:Gallio.Common.Text.DiffSet.WriteTo(Gallio.Common.Markup.MarkupStreamWriter,Gallio.Common.Text.DiffStyle,System.Int32)">
      <summary>
            Writes the diffs using the specified presentation style and max context length.
            </summary>
      <param name="writer">The test log stream writer to receive the highlighted document.</param>
      <param name="style">The presentation style.</param>
      <param name="maxContextLength">The maximum number of characters of unchanged regions
            to display for context, or <see cref="F:System.Int32.MaxValue" /> for no limit.  Extraneous context
            is split in two with an ellipsis inserted in between both halves.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref nameref="writer" /> if null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="maxContextLength" />
            is negative.</exception>
    </member>
    <member name="T:Gallio.Common.Text.DiffStyle">
      <summary>
            Specifies the presentation style for a <see cref="T:Gallio.Common.Text.DiffSet" />.
            </summary>
    </member>
    <member name="F:Gallio.Common.Text.DiffStyle.Interleaved">
      <summary>
            Display the left and right document contents and diffs fully interleaved.
            </summary>
    </member>
    <member name="F:Gallio.Common.Text.DiffStyle.LeftOnly">
      <summary>
            Display only the left document contents.
            </summary>
    </member>
    <member name="F:Gallio.Common.Text.DiffStyle.RightOnly">
      <summary>
            Display only the right document contents.
            </summary>
    </member>
    <member name="T:Gallio.Common.Text.Range">
      <summary>
            A range denotes a segment of a string or other indexed data structure.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Range.#ctor(System.Int32,System.Int32)">
      <summary>
            Creates a range of indices.
            </summary>
      <param name="startIndex">The starting index of the range.</param>
      <param name="length">The number of characters within the range, may be 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="startIndex" />
            or <paramref name="length" /> is negative.</exception>
    </member>
    <member name="M:Gallio.Common.Text.Range.Between(System.Int32,System.Int32)">
      <summary>
            Creates a new range between the start index (inclusively) and end index (exclusively).
            </summary>
      <param name="startIndex">The start index.</param>
      <param name="endIndex">The end index.</param>
      <returns>The new range.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="startIndex" />
            is negative or greater than <paramref name="endIndex" />.</exception>
    </member>
    <member name="P:Gallio.Common.Text.Range.EndIndex">
      <summary>
            Gets the ending index of the range, which is the start index plus the length.
            The ending index is one past the last character within the range.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Range.Equals(Gallio.Common.Text.Range)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Text.Range.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Text.Range.ExtendWith(Gallio.Common.Text.Range)">
      <summary>
            Extends a range into an adjacent range and returns the combined range.
            </summary>
      <param name="range">The adjacent range.</param>
      <returns>The extended range.</returns>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="range" /> is not an adjacent range.</exception>
    </member>
    <member name="M:Gallio.Common.Text.Range.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Common.Text.Range.Length">
      <summary>
            Gets the length of the range.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Range.op_Equality(Gallio.Common.Text.Range,Gallio.Common.Text.Range)">
      <summary>
            Returns true if two ranges are equal.
            </summary>
      <param name="a">The first range to compare.</param>
      <param name="b">The second range to compare.</param>
      <returns>True if the ranges are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Text.Range.op_Inequality(Gallio.Common.Text.Range,Gallio.Common.Text.Range)">
      <summary>
            Returns true if two ranges are not equal.
            </summary>
      <param name="a">The first range to compare.</param>
      <param name="b">The second range to compare.</param>
      <returns>True if the ranges are not equal.</returns>
    </member>
    <member name="P:Gallio.Common.Text.Range.StartIndex">
      <summary>
            Gets the starting index of the range.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Range.SubstringOf(System.String)">
      <summary>
            Gets a substring of the specified text using this range.
            </summary>
      <param name="text">The source text.</param>
      <returns>The substring of the source text that represents this range.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Text.Range.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="T:Gallio.Common.Text.StringUtils">
      <summary>
            Provides utility functions for working with strings.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ParseArguments(System.String)">
      <summary>
            Parses a string of whitespace delimited and possibly quoted arguments and
            returns an array of each one unquoted.
            </summary>
      <param name="arguments">The arguments string, eg. "/foo 'quoted arg' /bar.</param>
      <returns>The parsed and unquoted arguments.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="arguments" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ParseKeyValuePair(System.String)">
      <summary>
            Parses a key/value pair from an input string of the form "key=value", with the
            value optionally quoted and optional surrounding whitespace removed.
            </summary>
      <param name="input">The input string.</param>
      <returns>The key value pair.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="input" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ToCharLiteral(System.Char)">
      <summary>
            Formats a character value as "'x'" or "'\n'" with support for escaped characters
            as a valid literal value.  Encloses the char in single quotes (').
            </summary>
      <param name="value">The character value to format.</param>
      <returns>The formatted character.</returns>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ToHexDigit(System.Int32)">
      <summary>
            Gets a lowercase hexadecimal digit corresponding to the least significant nybble of
            the specified value.
            </summary>
      <param name="value">The value, only the last 4 bits of which are used.</param>
      <returns>The hexadecimal digit.</returns>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ToStringLiteral(System.String)">
      <summary>
            Formats a string value as ""abc\ndef"" with support for escaped characters
            as a valid literal value.  Encloses the string in quotes (").
            </summary>
      <param name="value">The string value to format.</param>
      <returns>The formatted string.</returns>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ToUnquotedCharLiteral(System.Char)">
      <summary>
            Escapes a character value as "x" or "\n".  Unlike <see cref="M:Gallio.Common.Text.StringUtils.ToCharLiteral(System.Char)" />,
            does not enclose the literal in single quotes (').
            </summary>
      <param name="value">The character value to format.</param>
      <returns>The unquoted char literal.</returns>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.ToUnquotedStringLiteral(System.String)">
      <summary>
            Escapes a string value such as "abc\ndef".  Unlike <see cref="M:Gallio.Common.Text.StringUtils.ToStringLiteral(System.String)" />,
            does not enclose the literal in quotes (").
            </summary>
      <param name="value">The string value to format.</param>
      <returns>The unquoted string literal.</returns>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.Truncate(System.String,System.Int32)">
      <summary>
            Truncates the string to the specified maximum length.
            Discards characters at the end of the string with indices greater than
            or equal to <paramref name="maxLength" />.
            </summary>
      <param name="str">The string to truncate.</param>
      <param name="maxLength">The maximum length of the string to retain.</param>
      <returns>The truncated string.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="str" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="maxLength" /> is negative.</exception>
    </member>
    <member name="M:Gallio.Common.Text.StringUtils.TruncateWithEllipsis(System.String,System.Int32)">
      <summary>
            If the string is longer than the specified maximum length, truncates
            it and appends an ellipsis mark ("...").  If the maximum length is
            less than or equal to 3, omits the ellipsis mark on truncation.
            </summary>
      <param name="str">The string to truncate.</param>
      <param name="maxLength">The maximum length of the string to retain
            including the ellipsis mark when used.</param>
      <returns>The truncated string.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="str" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="maxLength" /> is negative.</exception>
    </member>
    <member name="T:Gallio.Common.Text.Substring">
      <summary>
            A substring provides a convenient representation for a range within a larger string.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Substring.#ctor(System.String)">
      <summary>
            Creates a substring object defined over the entire range of a string.
            </summary>
      <param name="content">The string.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="content" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Text.Substring.#ctor(System.String,Gallio.Common.Text.Range)">
      <summary>
            Creates a substring object.
            </summary>
      <param name="content">The string.</param>
      <param name="range">The range within the string.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="content" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="range" /> is outside the bounds of the <paramref name="content" /> string.</exception>
    </member>
    <member name="P:Gallio.Common.Text.Substring.Content">
      <summary>
            Returns the whole string.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Substring.Equals(Gallio.Common.Text.Substring)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Text.Substring.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Common.Text.Substring.Extract(System.Int32)">
      <summary>
            Returns a substring of the substring.
            </summary>
      <param name="index">The index at which to start.</param>
      <returns>The substring.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="index" /> is negative or
            if is greater than <see cref="P:Gallio.Common.Text.Substring.Length" />.</exception>
    </member>
    <member name="M:Gallio.Common.Text.Substring.Extract(System.Int32,System.Int32)">
      <summary>
            Returns a substring of the substring.
            </summary>
      <param name="index">The index at which to start.</param>
      <param name="length">The length of the substring to produce.</param>
      <returns>The substring.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="index" /> or
            <paramref name="length" /> are negative or if their sum is greater than <see cref="P:Gallio.Common.Text.Substring.Length" />.</exception>
    </member>
    <member name="M:Gallio.Common.Text.Substring.FindCommonPrefixLength(Gallio.Common.Text.Substring)">
      <summary>
            Finds the length of the common prefix of this substring and another one.
            </summary>
      <param name="other">The other substring.</param>
      <returns>The common prefix length, or 0 if the substrings have no prefix in common.</returns>
    </member>
    <member name="M:Gallio.Common.Text.Substring.FindCommonSuffixLength(Gallio.Common.Text.Substring)">
      <summary>
            Finds the length of the common suffix of this substring and another one.
            </summary>
      <param name="other">The other substring.</param>
      <returns>The common suffix length, or 0 if the substrings have no suffix in common.</returns>
    </member>
    <member name="M:Gallio.Common.Text.Substring.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Common.Text.Substring.Item(System.Int32)">
      <summary>
            Gets the character with a particular index.
            </summary>
      <param name="index">The index.</param>
      <returns>The character.</returns>
      <exception cref="T:System.IndexOutOfRangeException">Thrown if the index is out of range.</exception>
    </member>
    <member name="P:Gallio.Common.Text.Substring.Length">
      <summary>
            Gets the length of the substring.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Substring.op_Equality(Gallio.Common.Text.Substring,Gallio.Common.Text.Substring)">
      <summary>
            Returns true if two substrings are equal.
            </summary>
      <param name="a">The first substring to compare.</param>
      <param name="b">The second substring to compare.</param>
      <returns>True if the substrings are equal.</returns>
    </member>
    <member name="M:Gallio.Common.Text.Substring.op_Inequality(Gallio.Common.Text.Substring,Gallio.Common.Text.Substring)">
      <summary>
            Returns true if two substrings are not equal.
            </summary>
      <param name="a">The first substring to compare.</param>
      <param name="b">The second substring to compare.</param>
      <returns>True if the substrings are not equal.</returns>
    </member>
    <member name="P:Gallio.Common.Text.Substring.Range">
      <summary>
            Returns the range of the underlying string represented by the substring.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.Substring.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="T:Gallio.Common.Text.RegularExpression.IElement">
      <summary>
            Interface for a regular expression composite tree leaf.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.IElement.GetRandomString">
      <summary>
            Returns a random string that matches the regular expression element.
            </summary>
      <returns>A random string.</returns>
    </member>
    <member name="T:Gallio.Common.Text.RegularExpression.RegexLite">
      <summary>
            A lightweight simplified regular expression pattern.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.RegexLite.#ctor(System.String)">
      <summary>
            Constructs a simplified regular expression pattern.
            </summary>
      <param name="pattern">The input pattern.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pattern" /> is null.</exception>
      <exception cref="T:Gallio.Common.Text.RegularExpression.RegexLiteException">Thrown if <paramref name="pattern" /> is invalid.</exception>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.RegexLite.GetRandomString">
      <summary>
            Returns the random string that matches the regular expression pattern.
            </summary>
      <returns>A random string that matches the regular expression pattern.</returns>
    </member>
    <member name="T:Gallio.Common.Text.RegularExpression.RegexLiteException">
      <summary>
            This exception type is used to signal an error while parsing
            a simplified regular expression with the RegexLite parser.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.RegexLiteException.#ctor">
      <summary>
            Creates a exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.RegexLiteException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates a exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.RegexLiteException.#ctor(System.String)">
      <summary>
            Creates a exception with the specified message..
            </summary>
      <param name="message">The message, or null if none.</param>
    </member>
    <member name="M:Gallio.Common.Text.RegularExpression.RegexLiteException.#ctor(System.String,System.Exception)">
      <summary>
            Creates a exception with the specified message and the inner exception.
            </summary>
      <param name="message">The message, or null if none.</param>
      <param name="innerException">The inner exception, or null if none.</param>
    </member>
    <member name="T:Gallio.Common.Time.Clock">
      <summary>
            Utility class for absolute and relative time management.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.Clock.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Time.Clock" /> class</summary>
    </member>
    <member name="P:Gallio.Common.Time.Clock.Elapsed">
      <summary>
            Gets the time elapsed.
            </summary>
    </member>
    <member name="P:Gallio.Common.Time.Clock.Now">
      <summary>
            Returns the local date and time.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.Clock.Start">
      <summary>
            Resets the time and starts the clock.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.Clock.Stop">
      <summary>
            Stops the clock.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.Clock.ThreadSleep(System.Int32)">
      <summary>
            Blocks the current thread for a specified time.
            </summary>
      <param name="millisecondsTimeout">The amount of time for which the thread is blocked.</param>
    </member>
    <member name="M:Gallio.Common.Time.Clock.ThreadSleep(System.TimeSpan)">
      <summary>
            Blocks the current thread for a specified time.
            </summary>
      <param name="timeout">The amount of time for which the thread is blocked.</param>
    </member>
    <member name="P:Gallio.Common.Time.Clock.UtcNow">
      <summary>
            Returns the current date and time, expressed as the Coordinated Universal Time (UTC).
            </summary>
    </member>
    <member name="T:Gallio.Common.Time.IClock">
      <summary>
            Utility class for absolute and relative time management.
            </summary>
    </member>
    <member name="P:Gallio.Common.Time.IClock.Elapsed">
      <summary>
            Gets the time elapsed.
            </summary>
    </member>
    <member name="P:Gallio.Common.Time.IClock.Now">
      <summary>
            Returns the local date and time.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.IClock.Start">
      <summary>
            Resets the time and starts the clock.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.IClock.Stop">
      <summary>
            Stops the clock.
            </summary>
    </member>
    <member name="M:Gallio.Common.Time.IClock.ThreadSleep(System.Int32)">
      <summary>
            Blocks the current thread for a specified time.
            </summary>
      <param name="millisecondsTimeout">The amount of time for which the thread is blocked.</param>
    </member>
    <member name="M:Gallio.Common.Time.IClock.ThreadSleep(System.TimeSpan)">
      <summary>
            Blocks the current thread for a specified time.
            </summary>
      <param name="timeout">The amount of time for which the thread is blocked.</param>
    </member>
    <member name="P:Gallio.Common.Time.IClock.UtcNow">
      <summary>
            Returns the current date and time, expressed as the Coordinated Universal Time (UTC).
            </summary>
    </member>
    <member name="T:Gallio.Common.Validation.IValidatable">
      <summary>
            Provides a method that may be called by client code to validate that the content
            of an object is well-formed.
            </summary>
    </member>
    <member name="M:Gallio.Common.Validation.IValidatable.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Common.Validation.ValidationException">
      <summary>
            An exception that expresses a data validation error.
            </summary>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Common.Validation.ValidationUtils">
      <summary>
            Validation utilities.
            </summary>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationUtils.ValidateAll``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Validates all non-null items of an enumeration of validatable elements.
            </summary>
      <param name="collection">The items to validate.</param>
      <typeparam name="T">The item type.</typeparam>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the validation fails.</exception>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationUtils.ValidateAssemblyName(System.String,System.String)">
      <summary>
            Validates that an item is a valid assembly name.
            </summary>
      <param name="itemName">The name of the item.</param>
      <param name="value">The value to validate.</param>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationUtils.ValidateElementsAreNotNull``1(System.String,System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Validates that all items in a collection are not null.
            </summary>
      <param name="collectionName">The name of the collection.</param>
      <param name="collection">The collection to validate.</param>
      <typeparam name="T">The item type.</typeparam>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the validation fails.</exception>
    </member>
    <member name="M:Gallio.Common.Validation.ValidationUtils.ValidateNotNull``1(System.String,``0)">
      <summary>
            Validates that an item is not null.
            </summary>
      <param name="itemName">The name of the item.</param>
      <param name="item">The item to validate.</param>
      <typeparam name="T">The item type.</typeparam>
    </member>
    <member name="T:Gallio.Common.Xml.DefaultXmlSerializer">
      <summary>
             Default IXmlSerializer implementation.
            </summary>
    </member>
    <member name="M:Gallio.Common.Xml.DefaultXmlSerializer.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Common.Xml.DefaultXmlSerializer" /> class</summary>
    </member>
    <member name="M:Gallio.Common.Xml.DefaultXmlSerializer.LoadFromXml``1(System.String)"></member>
    <member name="M:Gallio.Common.Xml.DefaultXmlSerializer.SaveToXml``1(``0,System.String)">
      <summary>
            Saves an object graph to a pretty-printed Xml file using <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="root">The root object.</param>
      <param name="filename">The filename.</param>
      <typeparam name="T">The root object type.</typeparam>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="root" />
            or <paramref name="filename" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Xml.IXmlSerializer">
      <summary>
             Provides Xml serialization and deserialization services.
            </summary>
    </member>
    <member name="M:Gallio.Common.Xml.IXmlSerializer.LoadFromXml``1(System.String)">
      <summary>
            Loads an object graph from an Xml file using <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="filename">The filename.</param>
      <typeparam name="T">The root object type.</typeparam>
      <returns>The root object.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filename" /> is null.</exception>
    </member>
    <member name="M:Gallio.Common.Xml.IXmlSerializer.SaveToXml``1(``0,System.String)">
      <summary>
            Saves an object graph to a pretty-printed Xml file using <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="root">The root object.</param>
      <param name="filename">The filename.</param>
      <typeparam name="T">The root object type.</typeparam>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="root" />
            or <paramref name="filename" /> is null.</exception>
    </member>
    <member name="T:Gallio.Common.Xml.XmlPreprocessor">
      <summary>
            Preprocesses XML based on the presence of processing instructions.
            </summary>
    </member>
    <member name="M:Gallio.Common.Xml.XmlPreprocessor.#ctor">
      <summary>
            Creates an Xml preprocessor.
            </summary>
    </member>
    <member name="M:Gallio.Common.Xml.XmlPreprocessor.Define(System.String)">
      <summary>
            Defines a preprocessor constant.
            </summary>
      <param name="constant">The constant.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="constant" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Common.Xml.XmlPreprocessor.IsDefined(System.String)">
      <summary>
            Returns true if the specified preprocessor constant is defined.
            </summary>
      <param name="constant">The constant.</param>
      <returns>True if the constant is defined.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="constant" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Common.Xml.XmlPreprocessor.Preprocess(System.Xml.XmlReader,System.Xml.XmlWriter)">
      <summary>
            Preprocesses and copies an Xml document from a reader into a writer.
            </summary>
      <param name="xmlReader">The Xml reader.</param>
      <param name="xmlWriter">The Xml writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xmlReader" />
            or <paramref name="xmlWriter" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the input Xml is malformed
            such as if it contains unbalanced ifdef/endif pairs.</exception>
    </member>
    <member name="T:Gallio.Common.Xml.XmlUtils">
      <summary>
            Provides utilities for manipulating Xml.
            </summary>
    </member>
    <member name="M:Gallio.Common.Xml.XmlUtils.WriteToXPathDocument(System.Action{System.Xml.XmlWriter})">
      <summary>
            Produces an XPathDocument given an action applied to an XmlWriter.
            </summary>
      <param name="writeAction">The action to perform.</param>
      <returns>The XPathDocument.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writeAction" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Capture">
      <summary>
            Captures screenshot images and videos.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Capture.AddOverlay(Gallio.Common.Media.Overlay)">
      <summary>
            Adds an overlay to display over screenshot images and videos.
            </summary>
      <param name="overlay">The overlay to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="overlay" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.AutoEmbedRecording(Gallio.Framework.TriggerEvent,System.String)">
      <summary>
            Automatically embeds a video of the test run from this point forward when a trigger event occurs.
            </summary>
      <param name="triggerEvent">The trigger event.</param>
      <param name="attachmentName">The name to give the video attachment, or null to assign one automatically.</param>
    </member>
    <member name="M:Gallio.Framework.Capture.AutoEmbedRecording(Gallio.Framework.TriggerEvent,System.String,Gallio.Common.Media.CaptureParameters,System.Double)">
      <summary>
            Automatically embeds a video of the test run from this point forward when a trigger event occurs.
            </summary>
      <param name="triggerEvent">The trigger event.</param>
      <param name="attachmentName">The name to give the video attachment, or null to assign one automatically.</param>
      <param name="parameters">The capture parameters.</param>
      <param name="framesPerSecond">The number of frames per second to capture.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.AutoEmbedScreenshot(Gallio.Framework.TriggerEvent,System.String)">
      <summary>
            Automatically embeds a screenshot when a trigger event occurs.
            </summary>
      <param name="triggerEvent">The trigger event.</param>
      <param name="attachmentName">The name to give the image attachment, or null to assign one automatically.</param>
    </member>
    <member name="M:Gallio.Framework.Capture.AutoEmbedScreenshot(Gallio.Framework.TriggerEvent,System.String,Gallio.Common.Media.CaptureParameters)">
      <summary>
            Automatically embeds a screenshot when a trigger event occurs.
            </summary>
      <param name="triggerEvent">The trigger event.</param>
      <param name="attachmentName">The name to give the image attachment, or null to assign one automatically.</param>
      <param name="parameters">The capture parameters.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.CanCaptureScreenshot">
      <summary>
            Returns true if screenshots can be captured.
            </summary>
      <returns>True if the screen can be captured.</returns>
    </member>
    <member name="M:Gallio.Framework.Capture.GetCaptionOverlay">
      <summary>
            Gets the caption overlay to display over of screenshots images and videos.
            </summary>
      <returns>The caption overlay.</returns>
    </member>
    <member name="M:Gallio.Framework.Capture.GetOverlayManager">
      <summary>
            Gets the overlay manager for the current test context.
            </summary>
      <returns>The overlay manager.</returns>
    </member>
    <member name="M:Gallio.Framework.Capture.GetOverlayManager(Gallio.Framework.TestContext)">
      <summary>
            Gets the overlay manager for the specified test context.
            </summary>
      <param name="context">The test context.</param>
      <returns>The overlay manager.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="context" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.GetScreenSize">
      <summary>
            Gets the size of the screen.
            </summary>
      <returns>The screen size.</returns>
    </member>
    <member name="M:Gallio.Framework.Capture.Screenshot">
      <summary>
            Captures an image of the entire desktop.
            </summary>
      <returns>The screenshot.</returns>
      <exception cref="T:Gallio.Common.Media.ScreenshotNotAvailableException">Thrown if a screenshot cannot be captured at this time.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.Screenshot(Gallio.Common.Media.CaptureParameters)">
      <summary>
            Captures an image of the entire desktop.
            </summary>
      <param name="parameters">The capture parameters.</param>
      <returns>The screenshot.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
      <exception cref="T:Gallio.Common.Media.ScreenshotNotAvailableException">Thrown if a screenshot cannot be captured at this time.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.SetCaption(System.String)">
      <summary>
            Sets a caption to display over screenshots images and videos. 
            </summary>
      <param name="text">The caption text, an empty string to remove it.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.SetCaptionAlignment(Gallio.Common.Media.HorizontalAlignment,Gallio.Common.Media.VerticalAlignment)">
      <summary>
            Sets the alignment of the caption to display over screenshots images and videos. 
            </summary>
      <param name="horizontalAlignment">The horizontal alignment.</param>
      <param name="verticalAlignment">The vertical alignment.</param>
    </member>
    <member name="M:Gallio.Framework.Capture.SetCaptionFontSize(System.Int32)">
      <summary>
            Sets the font size of the caption to display over screenshots images and videos. 
            </summary>
      <param name="fontSize">The caption font size.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="fontSize" /> is less than 1.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.StartRecording">
      <summary>
            Starts recording a screen capture video of the entire desktop.
            </summary>
      <returns>The recorder.</returns>
      <exception cref="T:Gallio.Common.Media.ScreenshotNotAvailableException">Thrown if a screenshot cannot be captured at this time.</exception>
    </member>
    <member name="M:Gallio.Framework.Capture.StartRecording(Gallio.Common.Media.CaptureParameters,System.Double)">
      <summary>
            Starts recording a screen capture video of the entire desktop.
            </summary>
      <param name="parameters">The capture parameters.</param>
      <param name="framesPerSecond">The number of frames per second to capture.</param>
      <returns>The recorder.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameters" /> is null.</exception>
      <exception cref="T:Gallio.Common.Media.ScreenshotNotAvailableException">Thrown if a screenshot cannot be captured at this time.</exception>
    </member>
    <member name="T:Gallio.Framework.ComparisonSemantics">
      <summary>
            Describes the semantics of how objects should be compared.
            </summary>
    </member>
    <member name="M:Gallio.Framework.ComparisonSemantics.ApproximatelyEqual``2(``0,``0,``1)">
      <summary>
            Returns true if two values are equal to within a specified delta.
            </summary>
      <param name="left">The expected value.</param>
      <param name="right">The actual value.</param>
      <param name="delta">The inclusive delta between the values.</param>
      <typeparam name="TValue">The type of values to be compared.</typeparam>
      <typeparam name="TDifference">The type of the difference produced when the values are
            subtracted, for numeric types this is the same as <typeparamref name="TValue" /> but it
            may differ for other types.</typeparam>
      <returns>True if the values are approximately equal.</returns>
    </member>
    <member name="M:Gallio.Framework.ComparisonSemantics.Compare``1(``0,``0)">
      <summary>
            Compares two objects.
            </summary>
      <param name="left">The left object, may be null.</param>
      <param name="right">The right object, may be null.</param>
      <typeparam name="T">The object type.</typeparam>
      <returns>A value less than zero if the left object if less than
            the right object, zero if the left and right objects are equal, or greater than zero if
            the left object is greater than the right object.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the values cannot be ordered.</exception>
    </member>
    <member name="M:Gallio.Framework.ComparisonSemantics.Equals(System.Object,System.Object)">
      <summary>
            Returns true if two objects are equal.
            </summary>
      <param name="left">The left object, may be null.</param>
      <param name="right">The right object, may be null.</param>
      <returns>True if the objects are equal.</returns>
    </member>
    <member name="M:Gallio.Framework.ComparisonSemantics.Equals``1(``0,``0)">
      <summary>
            Returns true if two objects are equal.
            </summary>
      <param name="left">The left object, may be null.</param>
      <param name="right">The right object, may be null.</param>
      <typeparam name="T">The object type.</typeparam>
      <returns>True if the objects are equal.</returns>
    </member>
    <member name="M:Gallio.Framework.ComparisonSemantics.IsSimpleEnumerableType(System.Type)">
      <summary>
            Returns <c>true</c> if the specified type is a simple enumerable type.
            </summary>
      <param name="type">The object type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.ComparisonSemantics.Same``1(``0,``0)">
      <summary>
            Returns <c>true</c> if two objects are the same.
            </summary>
      <param name="left">The left object, may be null.</param>
      <param name="right">The right object, may be null.</param>
      <typeparam name="T">The object type, which must be a reference type (class) since a value type
            (struct) has no concept of referential identity.</typeparam>
      <returns>True if both objects are the same.</returns>
    </member>
    <member name="T:Gallio.Framework.DiagnosticLog">
      <summary>
            The diagnostic log provides services for writing diagnostic messages to the console
            or runtime log during a test run.
            </summary>
    </member>
    <member name="M:Gallio.Framework.DiagnosticLog.WriteLine(System.String)">
      <summary>
            Writes a message to the diagnostic log.
            </summary>
      <param name="message">The message to write, may be null.</param>
    </member>
    <member name="M:Gallio.Framework.DiagnosticLog.WriteLine(System.String,System.Object[])">
      <summary>
            Writes a formatted message to the diagnostic log.
            </summary>
      <param name="messageFormat">The message format string, may be null.</param>
      <param name="messageArgs">The message arguments.</param>
    </member>
    <member name="T:Gallio.Framework.Sandbox">
      <summary>
            A sandbox is an isolated environments for executing test actions.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Sandbox.#ctor">
      <summary>
            Creates a root sandbox.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Sandbox.Abort(Gallio.Model.TestOutcome,System.String)">
      <summary>
            Aborts all actions in progress within this context.
            </summary>
      <param name="outcome">The outcome to be returned from aborted actions.</param>
      <param name="message">A message to be logged when the action is aborted, or null if none.</param>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="E:Gallio.Framework.Sandbox.Aborted">
      <summary>
            An event that is dispatched when <see cref="M:Gallio.Framework.Sandbox.Abort(Gallio.Model.TestOutcome,System.String)" /> is called.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="P:Gallio.Framework.Sandbox.AbortMessage">
      <summary>
            Gets a message that will be logged when the sandbox is aborted, or null if none.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="P:Gallio.Framework.Sandbox.AbortOutcome">
      <summary>
            Returns the <see cref="T:Gallio.Model.TestOutcome" /> passed to <see cref="M:Gallio.Framework.Sandbox.Abort(Gallio.Model.TestOutcome,System.String)" />,
            or null if <see cref="M:Gallio.Framework.Sandbox.Abort(Gallio.Model.TestOutcome,System.String)" /> has not been called.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="M:Gallio.Framework.Sandbox.CreateChild">
      <summary>
            Creates a child sandbox.
            </summary>
      <returns>The child sandbox.</returns>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="M:Gallio.Framework.Sandbox.Dispose">
      <summary>
            Disposes the sandbox.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Sandbox.Protect">
      <summary>
            Runs an action inside of a protected context wherein it cannot receive
            a thread abort from this <see cref="T:Gallio.Framework.Sandbox" />.
            </summary>
      <returns>An object that when disposed ends the protected block, possibly null if there was no protection necessary.</returns>
    </member>
    <member name="M:Gallio.Framework.Sandbox.Run(Gallio.Common.Markup.MarkupDocumentWriter,Gallio.Common.Action,System.String)">
      <summary>
            Runs a test action.
            </summary>
      <param name="markupDocumentWriter">The log writer for reporting failures.</param>
      <param name="action">The action to run.</param>
      <param name="description">A description of the action being performed,
            to be used as a log section name when reporting failures, or null if none.</param>
      <returns>The outcome of the action.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="markupDocumentWriter" /> or <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="M:Gallio.Framework.Sandbox.StartTimer(System.Nullable{System.TimeSpan})">
      <summary>
            Uses a specified timeout for all actions run within a block of code.
            When the timeout expires, the sandbox will be aborted.
            </summary>
      <param name="timeout">The execution timeout or null if none.</param>
      <returns>An object that when disposed ends the timeout block, possibly null if there was no timeout.</returns>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
    </member>
    <member name="P:Gallio.Framework.Sandbox.WasAborted">
      <summary>
            Returns <c>true</c> if <see cref="M:Gallio.Framework.Sandbox.Abort(Gallio.Model.TestOutcome,System.String)" /> was called.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the sandbox was disposed.</exception>
    </member>
    <member name="T:Gallio.Framework.SilentTestException">
      <summary>
            This exception type is used to signal a test outcome silently without logging the exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.SilentTestException.#ctor(Gallio.Model.TestOutcome)">
      <summary>
            Creates a silent test exception with the specified outcome.
            </summary>
      <param name="outcome">The test outcome.</param>
    </member>
    <member name="M:Gallio.Framework.SilentTestException.#ctor(Gallio.Model.TestOutcome,System.String)">
      <summary>
            Creates a silent test exception with the specified outcome.
            </summary>
      <param name="outcome">The test outcome.</param>
      <param name="message">The message, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.SilentTestException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates a exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="P:Gallio.Framework.SilentTestException.ExcludeStackTrace">
      <summary>
            Returns <c>true</c> if the outcome and message (if any) should be used but the exception
            stack trace should not be logged.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Tasks">
      <summary>
            The tasks class provides a mechanism for coordinating the actions of multiple
            tasks within a test case.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Tasks.CreateProcessTask(System.String,System.String,System.String)">
      <summary>
            Creates a new process task but does not start it.
            </summary>
      <param name="executablePath">The path of the executable executable.</param>
      <param name="arguments">The arguments for the executable.</param>
      <param name="workingDirectory">The working directory.</param>
      <returns>The new thread task.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="executablePath" />,
            <paramref name="arguments" /> or <paramref name="workingDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Tasks.CreateThreadTask(System.String,Gallio.Common.Action)">
      <summary>
            Creates a new thread task but does not start it.
            </summary>
      <param name="name">The name of the task, or null to create a new name based
            on the method associated with the action.</param>
      <param name="action">The action to perform.</param>
      <returns>The new thread task.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Tasks.JoinAndVerify(System.TimeSpan)">
      <summary>
            Waits for all tasks to complete or for timeout to occur;
            then verifies that no failures have occurred in any of the tasks.
            </summary>
      <param name="timeout">The timeout.</param>
      <exception cref="T:Gallio.Framework.TestException">Thrown if some of the tasks did not complete
            or if any of the tasks failed.</exception>
    </member>
    <member name="M:Gallio.Framework.Tasks.StartProcessTask(System.String,System.String,System.String)">
      <summary>
            Starts a new process and begins watching it.
            </summary>
      <param name="executablePath">The path of the executable executable.</param>
      <param name="arguments">The arguments for the executable.</param>
      <param name="workingDirectory">The working directory.</param>
      <returns>The new thread task.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="executablePath" />,
            <paramref name="arguments" /> or <paramref name="workingDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Tasks.StartThreadTask(System.String,Gallio.Common.Action)">
      <summary>
            Starts a new thread task.
            </summary>
      <param name="name">The name of the task, or null to create a new name based
            on the method associated with the action.</param>
      <param name="action">The action to perform.</param>
      <returns>The new thread task.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Tasks.TaskContainer">
      <summary>
            Gets the task container for the current <see cref="T:Gallio.Framework.TestContext" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Tasks.Verify">
      <summary>
            Verifies that no failures have occurred in any of the tasks.
            </summary>
      <exception cref="T:Gallio.Framework.TestException">Thrown if any of the tasks failed.</exception>
    </member>
    <member name="M:Gallio.Framework.Tasks.WatchTask(Gallio.Common.Concurrency.Task)">
      <summary>
            Adds a new task for the task manager to watch.
            </summary>
      <param name="task">The task to watch.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="task" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.TestContext">
      <summary>
            The test context provides information about the environment in which
            a test is executing.  A new context is created each time a test or
            test step begins execution.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.AddAssertCount(System.Int32)">
      <summary>
            Adds the specified amount to the assert count atomically.
            </summary>
      <param name="value">The amount to add to the assert count.</param>
    </member>
    <member name="M:Gallio.Framework.TestContext.AddMetadata(System.String,System.String)">
      <summary>
            Adds metadata to the step that is running in the context.
            </summary>
      <param name="metadataKey">The metadata key.</param>
      <param name="metadataValue">The metadata value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="metadataKey" />
            or <paramref name="metadataValue" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestContext.AssertCount">
      <summary>
            Gets the current assertion count.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.AutoExecute(Gallio.Framework.TriggerEvent,Gallio.Common.Action)">
      <summary>
            Automatically executes an action when a triggering event occurs.
            </summary>
      <param name="triggerEvent">The triggering event.</param>
      <param name="triggerAction">The action to execute when triggered.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="triggerAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.TestContext.AutoExecute(Gallio.Framework.TriggerEvent,Gallio.Common.Action,Gallio.Common.Action)">
      <summary>
            Automatically executes an action when a triggering event occurs.
            </summary>
      <param name="triggerEvent">The triggering event.</param>
      <param name="triggerAction">The action to execute when triggered.</param>
      <param name="cleanupAction">The action to execute to clean up after triggering or when the test finishes without triggering having occurred, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="triggerAction" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestContext.CurrentContext">
      <summary>
            Gets the context of the current thread, or null if there is no
            current context.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestContext.Data">
      <summary>
            Gets the user data collection associated with the context.  It may be used
            to associate arbitrary key/value pairs with the context.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.Enter">
      <summary>
            Enters this context with the current thread.
            </summary>
      <returns>A cookie that can be used to restore the current thread's context to its previous value.</returns>
    </member>
    <member name="M:Gallio.Framework.TestContext.EnterContext(Gallio.Framework.TestContext)">
      <summary>
            Enters the specified context with the current thread.
            </summary>
      <param name="context">The context to enter, or null to enter a scope
            without a context.</param>
      <returns>A cookie that can be used to restore the current thread's context to its previous value.</returns>
    </member>
    <member name="E:Gallio.Framework.TestContext.Finishing">
      <summary>
            The <see cref="E:Gallio.Framework.TestContext.Finishing" /> event is raised when the test is finishing to provide
            clients with an opportunity to perform additional clean up tasks after all ordinary
            test processing is finished.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.GetThreadDefaultContext(System.Threading.Thread)">
      <summary>
            Gets the default context for the specified thread.
            </summary>
      <param name="thread">The thread.</param>
      <returns>The default context.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="thread" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestContext.GlobalContext">
      <summary>
            Gets the global context of the environment, or null if there is no
            such context.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.IncrementAssertCount">
      <summary>
            Increments the assert count atomically.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestContext.IsFinished">
      <summary>
            Returns true if the step associated with the context has finished execution
            and completed all <see cref="E:Gallio.Framework.TestContext.Finishing" /> actions.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.IsTriggerEventSatisfied(Gallio.Framework.TriggerEvent)">
      <summary>
            Returns true if a trigger event has been satisfied.
            </summary>
      <param name="triggerEvent">The trigger event.</param>
      <returns>True if the trigger event is satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.TestContext.LifecyclePhase">
      <summary>
            Gets or sets the lifecycle phase the context is in.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestContext.LogWriter">
      <summary>
            Gets the log writer for this context.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestContext.Outcome">
      <summary>
            Gets the step's outcome or its interim outcome if the test is still running.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestContext.Parent">
      <summary>
            Gets the parent context or null if this context has no parent.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestContext.Result">
      <summary>
            Gets a copy of the step's final result or null if the test has not finished yet.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.RunStep(System.String,Gallio.Common.Action,System.Nullable{System.TimeSpan},System.Boolean,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Performs an action as a new step within the current context and associates it
            with the specified code reference.  Does not verify the outcome of the step.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="timeout">The step execution timeout, or null if none.</param>
      <param name="isTestCase">True if the step represents an independent test case.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
    </member>
    <member name="M:Gallio.Framework.TestContext.RunStepAndVerifyOutcome(System.String,Gallio.Common.Action,System.Nullable{System.TimeSpan},System.Boolean,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Model.TestOutcome)">
      <summary>
            Performs an action as a new step within the current context and associates it
            with the specified code reference.  Verifies that the step produced the expected outcome.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="timeout">The step execution timeout, or null if none.</param>
      <param name="isTestCase">True if the step represents an independent test case.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="expectedOutcome">The expected outcome of the step.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
      <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown if the expected outcome was not obtained.</exception>
    </member>
    <member name="P:Gallio.Framework.TestContext.Sandbox">
      <summary>
            Gets the sandbox of the test step, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContext.SetInterimOutcome(Gallio.Model.TestOutcome)">
      <summary>
            Sets the step's interim <see cref="P:Gallio.Framework.TestContext.Outcome" />.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if attempting to set the outcome while the test is not running.</exception>
    </member>
    <member name="M:Gallio.Framework.TestContext.SetThreadDefaultContext(System.Threading.Thread,Gallio.Framework.TestContext)">
      <summary>
            Sets the default context for the specified thread.
            </summary>
      <param name="thread">The thread.</param>
      <param name="context">The context to associate with the thread, or null to reset the
            thread's default context to inherit the <see cref="P:Gallio.Framework.TestContext.GlobalContext" /> once again.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="thread" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestContext.Test">
      <summary>
            Gets the test associated with the context.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestContext.TestStep">
      <summary>
            Gets the test step associated with the context.
            </summary>
    </member>
    <member name="T:Gallio.Framework.TestContextCookie">
      <summary>
            A context cookie is used to unwind the context stack of the current thread
            to its previous state prior to a context having been entered.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestContextCookie.Dispose">
      <summary>
            Exits the context that was entered when the cookie was granted.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the cookie belongs to a different
            <see cref="T:System.Threading.Thread" /> or if the context was already exited.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the context manager has been disposed.</exception>
    </member>
    <member name="M:Gallio.Framework.TestContextCookie.ExitContext">
      <summary>
            Exits the context that was entered when the cookie was granted.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the cookie belongs to a different
            <see cref="T:System.Threading.Thread" /> or if the context was already exited.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the context manager has been disposed.</exception>
    </member>
    <member name="T:Gallio.Framework.TestException">
      <summary>
            This exception type is an abstract base class for exceptions that are used to
            explicitly signal the outcome of a test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.TestException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Framework.TestException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="P:Gallio.Framework.TestException.ExcludeStackTrace">
      <summary>
            Returns <c>true</c> if the outcome and message (if any) should be used but the exception
            stack trace should not be logged.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
                    When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
                </summary>
      <param name="info">
                    The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown. 
                </param>
      <param name="context">
                    The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination. 
                </param>
      <exception cref="T:System.ArgumentNullException">
                    The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). 
                </exception>
      <exception cref="T:System.Security.SecurityException">
                    The caller does not have the required permission. 
                </exception>
    </member>
    <member name="P:Gallio.Framework.TestException.HasNonDefaultMessage">
      <summary>
            Returns true if the test exception has a non-default message
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestException.Outcome">
      <summary>
            Gets the outcome of the test.
            </summary>
    </member>
    <member name="T:Gallio.Framework.TestFailedException">
      <summary>
            This exception type is used to signal that a test has failed to satisfy
            some predetermined condition established by the test author.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestFailedException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestFailedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.TestFailedException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Framework.TestFailedException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="P:Gallio.Framework.TestFailedException.Outcome">
      <summary>
            Returns <see cref="P:Gallio.Model.TestOutcome.Failed" />.
            </summary>
    </member>
    <member name="T:Gallio.Framework.TestInconclusiveException">
      <summary>
            This exception type is used to signal that a test has not produced a conclusive
            pass or fail result.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestInconclusiveException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestInconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.TestInconclusiveException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Framework.TestInconclusiveException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="P:Gallio.Framework.TestInconclusiveException.Outcome">
      <summary>
            Returns <see cref="P:Gallio.Model.TestOutcome.Inconclusive" />.
            </summary>
    </member>
    <member name="T:Gallio.Framework.TestLog">
      <summary>
            The test log class provides services for writing information to the
            execution log associated with a test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestLog.Attach(Gallio.Common.Markup.Attachment)">
      <summary>
            Attaches an attachment to the execution log.
            </summary>
      <param name="attachment">The attachment to include.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachment" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachHtml(System.String,System.String)">
      <summary>
            Attaches an HTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Html" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="html">The HTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="html" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachImage(System.String,System.Drawing.Image)">
      <summary>
            Attaches an image attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="image">The image to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="image" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachObjectAsXml(System.String,System.Object)">
      <summary>
            Attaches an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the default <see cref="T:System.Xml.Serialization.XmlSerializer" /> for the object's type.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachObjectAsXml(System.String,System.Object,System.Xml.Serialization.XmlSerializer)">
      <summary>
            Attaches an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the specified <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <param name="xmlSerializer">The <see cref="T:System.Xml.Serialization.XmlSerializer" /> to use, or null to use the default <see cref="T:System.Xml.Serialization.XmlSerializer" />
            for the object's type.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachPlainText(System.String,System.String)">
      <summary>
            Attaches an plain text attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.PlainText" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="text">The text to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachVideo(System.String,Gallio.Common.Media.Video)">
      <summary>
            Attaches a video attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="video">The video to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="video" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachXHtml(System.String,System.String)">
      <summary>
            Attaches an XHTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.XHtml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="xhtml">The XHTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xhtml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.AttachXml(System.String,System.String)">
      <summary>
            Attaches an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="xml">The XML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.BeginMarker(Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region.  May be nested.
            </summary>
      <param name="marker">The marker.</param>
      <returns>A Disposable object that calls <see cref="M:Gallio.Framework.TestLog.End" /> when disposed.  This
            is a convenience for use with the C# "using" statement.</returns>
    </member>
    <member name="M:Gallio.Framework.TestLog.BeginSection(System.String)">
      <summary>
            Begins a section with the specified name.  May be nested.
            </summary>
      <param name="sectionName">The name of the section.</param>
      <returns>A Disposable object that calls <see cref="M:Gallio.Framework.TestLog.End" /> when disposed.  This
            is a convenience for use with the C# "using" statement.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sectionName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestLog.ConsoleError">
      <summary>
            Gets the current stream writer for captured <see cref="P:System.Console.Error" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestLog.ConsoleInput">
      <summary>
            Gets the current stream writer for captured <see cref="P:System.Console.In" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestLog.ConsoleOutput">
      <summary>
            Gets the current stream writer for captured <see cref="P:System.Console.Out" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestLog.DebugTrace">
      <summary>
            Gets the current stream writer for diagnostic <see cref="T:System.Diagnostics.Debug" /> and <see cref="T:System.Diagnostics.Trace" /> messages.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestLog.Default">
      <summary>
            Gets the current stream writer for generic log messages such as those written
            using the static methods of this class.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestLog.Embed(Gallio.Common.Markup.Attachment)">
      <summary>
            Embeds an attachment.
            </summary>
      <param name="attachment">The attachment to embed.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachment" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedExisting(System.String)">
      <summary>
            Embeds another copy of an existing attachment.
            </summary>
      <param name="attachmentName">The name of the existing attachment to embed.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="attachmentName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedHtml(System.String,System.String)">
      <summary>
            Embeds an HTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Html" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="html">The HTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="html" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedImage(System.String,System.Drawing.Image)">
      <summary>
            Embeds an image attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="image">The image to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="image" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedObjectAsXml(System.String,System.Object)">
      <summary>
            Embeds an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the default <see cref="T:System.Xml.Serialization.XmlSerializer" /> for the object's type.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedObjectAsXml(System.String,System.Object,System.Xml.Serialization.XmlSerializer)">
      <summary>
            Embeds an XML-serialized object as an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />
            using the specified <see cref="T:System.Xml.Serialization.XmlSerializer" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="obj">The object to serialize and embed, must not be null.</param>
      <param name="xmlSerializer">The <see cref="T:System.Xml.Serialization.XmlSerializer" /> to use, or null to use the default <see cref="T:System.Xml.Serialization.XmlSerializer" />
            for the object's type.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedPlainText(System.String,System.String)">
      <summary>
            Embeds an plain text attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.PlainText" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="text">The text to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="text" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedVideo(System.String,Gallio.Common.Media.Video)">
      <summary>
            Embeds a video attachment with a mime-type compatible with its internal representation.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="video">The video to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="video" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedXHtml(System.String,System.String)">
      <summary>
            Embeds an XHTML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.XHtml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="xhtml">The XHTML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xhtml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.EmbedXml(System.String,System.String)">
      <summary>
            Embeds an XML attachment with mime-type <see cref="F:Gallio.Common.Markup.MimeTypes.Xml" />.
            </summary>
      <param name="attachmentName">The name of the attachment to create or null to
            automatically assign one.  The attachment name must be unique within the scope of the
            currently executing test step.</param>
      <param name="xml">The XML to attach.</param>
      <returns>The attachment.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xml" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.End">
      <summary>
            Ends the region most recently started with one of the Begin* methods.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="P:Gallio.Framework.TestLog.Failures">
      <summary>
            Gets the current stream writer for reporting failure messages and exceptions.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestLog.Flush">
      <summary>
            Flushes the log writer.
            </summary>
    </member>
    <member name="P:Gallio.Framework.TestLog.Warnings">
      <summary>
            Gets the current stream writer for reporting warning messages.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(Gallio.Common.Markup.IMarkupStreamWritable)">
      <summary>
            Writes a test log stream writable object to the stream.
            </summary>
      <param name="obj">The object to write, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(System.Char)">
      <summary>
            Writes a character.
            </summary>
      <param name="value">The character value.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(System.Char[])">
      <summary>
            Writes an array of characters.
            </summary>
      <param name="value">The array of characters.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(System.Char[],System.Int32,System.Int32)">
      <summary>
            Writes an array of characters.
            </summary>
      <param name="buffer">The character buffer.</param>
      <param name="index">The index of the first character in the buffer to write.</param>
      <param name="count">The number of characters from the buffer to write.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="buffer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="index" /> or <paramref name="count" /> are out of range.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(System.Object)">
      <summary>
            Writes a formatted object.
            </summary>
      <param name="value">The object value.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(System.String)">
      <summary>
            Writes a string.
            </summary>
      <param name="value">The string value.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.Write(System.String,System.Object[])">
      <summary>
            Writes a formatted string.
            </summary>
      <param name="format">The format string.</param>
      <param name="args">The format string arguments.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="format" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteEllipsis">
      <summary>
            Writes an ellipsis to indicate where content has been elided for brevity.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteException(Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Writes an exception.
            </summary>
      <param name="exception">The exception data to write.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteException(Gallio.Common.Diagnostics.ExceptionData,System.String)">
      <summary>
            Writes an exception within its own section which provides additional cues for interpretation.
            </summary>
      <param name="exception">The exception data to write.</param>
      <param name="sectionName">The section name, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteException(System.Exception)">
      <summary>
            Writes an exception.
            </summary>
      <param name="exception">The exception to write.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteException(System.Exception,System.String)">
      <summary>
            Writes an exception within its own section.
            </summary>
      <param name="exception">The exception to write.</param>
      <param name="sectionName">The section name, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" />,
            or <paramref name="sectionName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteHighlighted(System.String)">
      <summary>
            Writes highlighted text.
            </summary>
      <param name="text">The text to write, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteLine">
      <summary>
            Writes a line delimiter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteLine(System.Char)">
      <summary>
            Writes a character followed by a line delimiter.
            </summary>
      <param name="value">The character value.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteLine(System.Char[])">
      <summary>
            Writes an array of characters followed by a line delimiter.
            </summary>
      <param name="value">The array of characters.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteLine(System.Object)">
      <summary>
            Writes a formatted object followed by a line delimiter.
            </summary>
      <param name="value">The object value.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteLine(System.String)">
      <summary>
            Writes a string followed by a line delimiter.
            </summary>
      <param name="value">The string value.</param>
    </member>
    <member name="M:Gallio.Framework.TestLog.WriteLine(System.String,System.Object[])">
      <summary>
            Writes a formatted string followed by a line delimiter.
            </summary>
      <param name="format">The format string.</param>
      <param name="args">The format string arguments.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="format" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.TestLog.Writer">
      <summary>
            Gets the current log writer.
            </summary>
      <returns>The execution log, never null.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current log writer.</exception>
    </member>
    <member name="T:Gallio.Framework.TestStep">
      <summary>
            Provides functions for manipulating test steps.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestStep.AddMetadata(System.String,System.String)">
      <summary>
            Adds metadata to the step that is running in the context.
            </summary>
      <param name="metadataKey">The metadata key.</param>
      <param name="metadataValue">The metadata value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="metadataKey" />
            or <paramref name="metadataValue" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="P:Gallio.Framework.TestStep.CurrentStep">
      <summary>
            Gets reflection information about the current step.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="M:Gallio.Framework.TestStep.RunStep(System.String,Gallio.Common.Action)">
      <summary>
            Performs an action as a new step within the current context and associates
            it with the calling function.  Does not verify the outcome of the step.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="M:Gallio.Framework.TestStep.RunStep(System.String,Gallio.Common.Action,System.Nullable{System.TimeSpan})">
      <summary>
            Performs an action as a new step within the current context and associates
            it with the calling function.  Does not verify the outcome of the step.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="timeout">The step execution timeout, or null if none.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="M:Gallio.Framework.TestStep.RunStep(System.String,Gallio.Common.Action,System.Nullable{System.TimeSpan},System.Boolean,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Performs an action as a new step within the current context and associates it
            with the specified code reference.  Does not verify the outcome of the step.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="timeout">The step execution timeout, or null if none.</param>
      <param name="isTestCase">True if the step represents an independent test case.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="M:Gallio.Framework.TestStep.RunStepAndVerifyOutcome(System.String,Gallio.Common.Action,Gallio.Model.TestOutcome)">
      <summary>
            Performs an action as a new step within the current context and associates
            it with the calling function.  Verifies that the step produced the expected outcome.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="expectedOutcome">The expected outcome of the step.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown if the expected outcome was not obtained.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="M:Gallio.Framework.TestStep.RunStepAndVerifyOutcome(System.String,Gallio.Common.Action,System.Nullable{System.TimeSpan},Gallio.Model.TestOutcome)">
      <summary>
            Performs an action as a new step within the current context and associates
            it with the calling function.  Verifies that the step produced the expected outcome.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="timeout">The step execution timeout, or null if none.</param>
      <param name="expectedOutcome">The expected outcome of the step.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
      <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown if the expected outcome was not obtained.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="M:Gallio.Framework.TestStep.RunStepAndVerifyOutcome(System.String,Gallio.Common.Action,System.Nullable{System.TimeSpan},System.Boolean,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Model.TestOutcome)">
      <summary>
            Performs an action as a new step within the current context and associates it
            with the specified code reference.  Verifies that the step produced the expected outcome.
            </summary>
      <param name="name">The name of the step.</param>
      <param name="action">The action to perform.</param>
      <param name="timeout">The step execution timeout, or null if none.</param>
      <param name="isTestCase">True if the step represents an independent test case.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="expectedOutcome">The expected outcome of the step.</param>
      <returns>The context of the step that ran.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or
            <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="name" /> is the empty string.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeout" /> is negative.</exception>
      <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown if the expected outcome was not obtained.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current test context.</exception>
    </member>
    <member name="T:Gallio.Framework.TestTerminatedException">
      <summary>
            This exception type is used to signal that a test has been terminated with
            a particular outcome.
            </summary>
    </member>
    <member name="M:Gallio.Framework.TestTerminatedException.#ctor(Gallio.Model.TestOutcome)">
      <summary>
            Creates a silent test exception with the specified outcome.
            </summary>
      <param name="outcome">The test outcome.</param>
    </member>
    <member name="M:Gallio.Framework.TestTerminatedException.#ctor(Gallio.Model.TestOutcome,System.String)">
      <summary>
            Creates a silent test exception with the specified outcome.
            </summary>
      <param name="outcome">The test outcome.</param>
      <param name="message">The message, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.TestTerminatedException.#ctor(Gallio.Model.TestOutcome,System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="outcome">The test outcome.</param>
      <param name="message">The message, or null if none.</param>
      <param name="innerException">The inner exception, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.TestTerminatedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates a exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.TestTerminatedException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
                    When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
                </summary>
      <param name="info">
                    The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown. 
                </param>
      <param name="context">
                    The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination. 
                </param>
      <exception cref="T:System.ArgumentNullException">
                    The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). 
                </exception>
      <exception cref="T:System.Security.SecurityException">
                    The caller does not have the required permission. 
                </exception>
    </member>
    <member name="P:Gallio.Framework.TestTerminatedException.Outcome">
      <summary>
            Gets the outcome of the test.
            </summary>
    </member>
    <member name="T:Gallio.Framework.TriggerEvent">
      <summary>
            Specifies a trigger condition for automatic execution of an action.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.Never">
      <summary>
            Never performs the action.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.TestFinished">
      <summary>
            Perform the action when the test finishes.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.TestPassed">
      <summary>
            Perform the action when the test passed.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.TestPassedOrInconclusive">
      <summary>
            Perform the action when the test passed or was inconclusive.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.TestInconclusive">
      <summary>
            Perform the action when the test was inconclusive.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.TestFailed">
      <summary>
            Perform the action when the test failed.
            </summary>
    </member>
    <member name="F:Gallio.Framework.TriggerEvent.TestFailedOrInconclusive">
      <summary>
            Perform the action when the test failed or was inconclusive.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionContext">
      <summary>
            Describes the context in which an assertion is being evaluated.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior">
      <summary>
            Gets the current assertion failure behavior.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionContext.CaptureFailures(Gallio.Common.Action,Gallio.Framework.Assertions.AssertionFailureBehavior,System.Boolean)">
      <summary>
            Performs an action and returns an array containing the assertion failures
            that were observed within the block.
            </summary>
      <param name="action">The action to invoke.</param>
      <param name="assertionFailureBehavior">The assertion failure behavior to use while
            executing the block.</param>
      <param name="captureExceptionAsAssertionFailure">Specifies whether to represent an exception
            as an assertion failure, otherwise it is rethrown.</param>
      <returns>The array of failures, may be empty if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionContext.CurrentContext">
      <summary>
            Gets the current assertion context, or null if there is no current context.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionContext.GetPendingFailures">
      <summary>
            Gets the pending failures within the current assertion scope.
            </summary>
      <returns>The pending failures, or an empty array if none.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionContext.SubmitFailure(Gallio.Framework.Assertions.AssertionFailure)">
      <summary>
            Submits an assertion failure.
            </summary>
      <param name="failure">The assertion failure.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="failure" />
            is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionContext.TestContext">
      <summary>
            Gets the associated test context.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionException">
      <summary>
            The exception type used by the Gallio assertion framework to signal assertion failures.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionFailure">
      <summary>
            An assertion failure is an immutable description of a failed assertion and its
            cause.  It takes into account information about labeled values such as the expected
            and actual value.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.#ctor(System.String,System.String,Gallio.Common.Diagnostics.StackTraceData,System.Collections.Generic.IList{Gallio.Framework.Assertions.AssertionFailure.LabeledValue},System.Collections.Generic.IList{Gallio.Common.Diagnostics.ExceptionData},System.Collections.Generic.IList{Gallio.Framework.Assertions.AssertionFailure})">
      <summary>
            Creates an assertion failure object.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.Description">
      <summary>
            Gets the description of the assertion failure.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.Exceptions">
      <summary>
            Gets information about the exceptions.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.InnerFailures">
      <summary>
            Gets the nested assertion failures that contributed to the composite assertion
            failure described by this instance.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.LabeledValues">
      <summary>
            Gets formatted representations of labeled values as key/value pairs.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailure.MaxFormattedValueLength">
      <summary>
            Gets the maximum length of formatted value that can be presented before truncation occurs.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailure.MaxLabelLengthBeforeTruncation">
      <summary>
            Gets the maximum length of label that can be presented before truncation occurs.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.Message">
      <summary>
            Gets the user-supplied message about the assertion failure,
            or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.StackTrace">
      <summary>
            Get the stack track of the failure, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.ToString">
      <summary>
            Formats the failure as a string.
            </summary>
      <returns>The formatted string.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.WriteDetails(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the details about the assertion failure to the structured text writer.
            </summary>
      <param name="writer">The structured text writer, not null.</param>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.WriteTo(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Writes the assertion failure to a test log stream.
            </summary>
      <param name="writer">The test log stream.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionFailure.LabeledValue">
      <summary>
            A labeled value describes a named assertion parameter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.LabeledValue.#ctor(System.String,Gallio.Common.Markup.StructuredText)">
      <summary>
            Creates a labeled value with structured text.
            </summary>
      <param name="label">The label.</param>
      <param name="formattedValue">The formatted value as structured text.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="label" /> or
            <paramref name="formattedValue" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="label" /> is empty.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.LabeledValue.#ctor(System.String,System.String)">
      <summary>
            Creates a labeled value with plain text.
            </summary>
      <param name="label">The label.</param>
      <param name="formattedValue">The formatted value as plain text.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="label" /> or
            <paramref name="formattedValue" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="label" /> is empty.</exception>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.LabeledValue.FormattedValue">
      <summary>
            Gets the formatted value as structured text.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailure.LabeledValue.Label">
      <summary>
            Gets the label.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailure.LabeledValue.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionFailureBehavior">
      <summary>
            Specifies the behavior that should take place when a <see cref="T:Gallio.Framework.Assertions.AssertionFailure" />
            is submitted to the <see cref="T:Gallio.Framework.Assertions.AssertionContext" />.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailureBehavior.Log">
      <summary>
            When an assertion failure is reported, capture it in a list, log it, and allow
            the computation to continue.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailureBehavior.Throw">
      <summary>
            When an assertion failure is reported, capture it in a list, then throw an
            <see cref="T:Gallio.Framework.Assertions.AssertionFailureException" /> to immediately abort the current computation.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailureBehavior.LogAndThrow">
      <summary>
            When an assertion failure is reported, capture it in a list, log it, then throw an
            <see cref="T:Gallio.Framework.Assertions.AssertionFailureException" /> to immediately abort the current computation.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailureBehavior.Discard">
      <summary>
            When an assertion failure is reported, discard it (instead of capturing it in a list)
            and allow the current computation to continue.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Assertions.AssertionFailureBehavior.CaptureAndContinue">
      <summary>
            When an assertion failure is reported, capture it in a list and allow the current
            computation to continue.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionFailureBuilder">
      <summary>
            An assertion failure builder is used to construct a complete description
            of an assertion failure that has occurred.  It takes into account information about
            the expected and actual value, as well as additional labeled values and exceptions.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.#ctor(System.String)">
      <summary>
            Creates an assertion failure builder with the default formatter.
            </summary>
      <param name="description">The description of the failure.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="description" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.#ctor(System.String,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Creates an assertion failure builder with the specified formatter.
            </summary>
      <param name="description">The description of the failure.</param>
      <param name="formatter">The formatter to use.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="description" /> or
            <paramref name="formatter" />  is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddException(Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Adds an exception to the assertion failure.
            </summary>
      <param name="ex">The exception data to add.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ex" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddException(System.Exception)">
      <summary>
            Adds an exception to the assertion failure.
            </summary>
      <param name="ex">The exception to add.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ex" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddInnerFailure(Gallio.Framework.Assertions.AssertionFailure)">
      <summary>
            Adds a nested assertion failure that contributed to the composite assertion failure
            described by this instance.
            </summary>
      <param name="innerFailure">The inner assertion failure to add.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="innerFailure" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddInnerFailures(System.Collections.Generic.IEnumerable{Gallio.Framework.Assertions.AssertionFailure})">
      <summary>
            Adds an enumeration of nested assertion failures that contributed to the composite
            assertion failure described by this instance.
            </summary>
      <param name="innerFailures">The enumeration of inner assertion failures to add.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="innerFailures" /> is null or
            contains a null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddLabeledValue(Gallio.Framework.Assertions.AssertionFailure.LabeledValue)">
      <summary>
            Adds a labeled value.
            </summary>
      <param name="labeledValue">The labeled value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddLabeledValue(System.String,Gallio.Common.Markup.StructuredText)">
      <summary>
            Adds a labeled value as structured text.
            </summary>
      <param name="label">The label.</param>
      <param name="formattedValue">The formatted value as structured text.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="label" /> or <paramref name="formattedValue" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="label" /> is empty.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddLabeledValue(System.String,System.String)">
      <summary>
            Adds a labeled value as plain text.
            </summary>
      <param name="label">The label.</param>
      <param name="formattedValue">The formatted value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="label" /> or <paramref name="formattedValue" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="label" /> is empty.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddRawActualValue(System.Object)">
      <summary>
            Adds the raw actual value to be formatted using <see cref="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter" />.
            </summary>
      <param name="actualValue">The actual value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddRawExpectedAndActualValuesWithDiffs(System.Object,System.Object)">
      <summary>
            Adds the raw expected and actual values to be formatted using <see cref="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter" />
            and includes formatting of their differences.
            </summary>
      <param name="expectedValue">The expected value.</param>
      <param name="actualValue">The actual value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddRawExpectedValue(System.Object)">
      <summary>
            Adds the raw expected value to be formatted using <see cref="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter" />.
            </summary>
      <param name="expectedValue">The expected value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddRawLabeledValue(System.String,System.Object)">
      <summary>
            Adds a raw labeled value to be formatted using <see cref="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter" />.
            </summary>
      <param name="label">The label.</param>
      <param name="value">The raw unformatted value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="label" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="label" /> is empty.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddRawLabeledValuesWithDiffs(System.String,System.Object,System.String,System.Object)">
      <summary>
            Adds two raw labeled values formatted using <see cref="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter" /> and includes
            formatting of their differences.
            </summary>
      <param name="leftLabel">The left label.</param>
      <param name="leftValue">The left value.</param>
      <param name="rightLabel">The right label.</param>
      <param name="rightValue">The right value.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="leftLabel" /> or
            <paramref name="rightLabel" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.CreateAssertionFailure(System.String,System.String,Gallio.Common.Diagnostics.StackTraceData,System.Collections.Generic.IList{Gallio.Framework.Assertions.AssertionFailure.LabeledValue},System.Collections.Generic.IList{Gallio.Common.Diagnostics.ExceptionData},System.Collections.Generic.IList{Gallio.Framework.Assertions.AssertionFailure})">
      <summary>
            Creates an assertion failure object.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter">
      <summary>
            Gets the formatted used by the builder.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.SetMessage(System.String)">
      <summary>
            Sets the user-supplied assertion failure message.
            </summary>
      <param name="message">The user-supplied assertion failure message, or null if none.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.SetMessage(System.String,System.Object[])">
      <summary>
            Sets the user-supplied assertion failure message to a formatted value.
            </summary>
      <param name="messageFormat">The user-supplied assertion failure message format
            string, or null if none.</param>
      <param name="messageArgs">The format arguments, or null or empty if none.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.SetStackTrace(Gallio.Common.Diagnostics.StackTraceData)">
      <summary>
            Sets the stack trace.
            </summary>
      <param name="stackTrace">The stack trace, or null if none.</param>
      <returns>The builder, to allow for fluent method chaining.</returns>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureBuilder.ToAssertionFailure">
      <summary>
            Generates an immutable object that describes the failure.
            </summary>
      <returns>The assertion failure.</returns>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionFailureException">
      <summary>
            An exception type that wraps a <see cref="T:Gallio.Framework.Assertions.AssertionFailure" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureException.#ctor(Gallio.Framework.Assertions.AssertionFailure,System.Boolean)">
      <summary>
            Creates an exception for a given assertion failure.
            </summary>
      <param name="failure">The assertion failure.</param>
      <param name="silent">True if the assertion failure exception should not be logged because
            the information it contains has already been conveyed to the user.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="failure" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailureException.ExcludeStackTrace">
      <summary>
            Returns <c>true</c> if the outcome and message (if any) should be used but the exception
            stack trace should not be logged.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailureException.Failure">
      <summary>
            Gets the associated assertion failure, never null.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionFailureException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
                    When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
                </summary>
      <param name="info">
                    The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown. 
                </param>
      <param name="context">
                    The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination. 
                </param>
      <exception cref="T:System.ArgumentNullException">
                    The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). 
                </exception>
      <exception cref="T:System.Security.SecurityException">
                    The caller does not have the required permission. 
                </exception>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailureException.IsSilent">
      <summary>
            Returns <c>true</c> if the assertion failure exception should not be logged because
            the information it contains has already been conveyed to the user.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Assertions.AssertionFailureException.Message">
      <summary>
                    Gets a message that describes the current exception.
                </summary>
      <returns>
                    The error message that explains the reason for the exception, or an empty string("").
                </returns>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionFailureExplanation">
      <summary>
            A delegate for the <see cref="M:Gallio.Framework.Assertions.AssertionHelper.Explain(Gallio.Common.Action,Gallio.Framework.Assertions.AssertionFailureExplanation)" /> decorator method which 
            combines the specified inner failures into a single outer failure with a common explanation.
            </summary>
      <param name="innerFailures">The inner failures to combine together.</param>
      <returns>The composite assertion failure.</returns>
    </member>
    <member name="T:Gallio.Framework.Assertions.AssertionHelper">
      <summary>
            Provides utilities to assist with the implementation of new asserts.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionHelper.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Assertions.AssertionHelper" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionHelper.Eval(Gallio.Common.Action)">
      <summary>
            Performs an action and returns an array containing the assertion failures
            that were observed within the block.  If the block throws an exception, it
            is reified as an assertion failure.
            </summary>
      <param name="action">The action to invoke.</param>
      <returns>The array of failures, may be empty if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionHelper.Eval(Gallio.Common.Action,Gallio.Framework.Assertions.AssertionFailureBehavior)">
      <summary>
            Performs an action and returns an array containing the assertion failures
            that were observed within the block.
            </summary>
      <param name="action">The action to invoke.</param>
      <param name="assertionFailureBehavior">The assertion failure behavior to use while the action runs.</param>
      <returns>The array of failures, may be empty if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current assertion context.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionHelper.Explain(Gallio.Common.Action,Gallio.Framework.Assertions.AssertionFailureExplanation)">
      <summary>
            Performs an action and combines the possible assertion failures
            that were observed within the block, into a single outer failure with
            a common explanation.
            </summary>
      <param name="action">The action to invoke.</param>
      <param name="explanation">A function that takes an array of inner failures and
            returns a single outer failure with a common explanation.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="explanation" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionHelper.Fail(Gallio.Framework.Assertions.AssertionFailure)">
      <summary>
            Submits a failure if the assertion failure object is non-null.
            </summary>
      <param name="failure">Failure to be submited, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.Assertions.AssertionHelper.Verify(Gallio.Common.Func{Gallio.Framework.Assertions.AssertionFailure})">
      <summary>
            Verifies that an assertion succeeded.
            </summary>
      <param name="assertionFunc">The assertion function to evaluate.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assertionFunc" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.AggregateDataSet">
      <summary>
            Abstract base class for an aggregate data set that combines a list of data
            sets according to some algorithm.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.AggregateDataSet.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.AggregateDataSet" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.AggregateDataSet.AddDataSet(Gallio.Framework.Data.IDataSet)">
      <summary>
            Adds a data set to the aggregate.
            </summary>
      <param name="dataSet">The data set to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dataSet" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="dataSet" /> is already a member of this aggregate.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.AggregateDataSet.DataSets">
      <summary>
            Gets the immutable list of combined data sets.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.BaseDataAccessor">
      <summary>
            A base implementation of <see cref="T:Gallio.Framework.Data.IDataAccessor" /> that
            performs argument validation.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataAccessor.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.BaseDataAccessor" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataAccessor.GetValue(Gallio.Framework.Data.IDataItem)">
      <summary>
            Gets a value derived from the <see cref="T:Gallio.Framework.Data.IDataItem" />.
            </summary>
      <param name="item">The data item.</param>
      <returns>The value.</returns>
      <exception cref="T:Gallio.Framework.Data.DataBindingException">Thrown if the data binding fails.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="item" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataAccessor.GetValueImpl(Gallio.Framework.Data.IDataItem)">
      <summary>
            Internal implementation of <see cref="M:Gallio.Framework.Data.BaseDataAccessor.GetValue(Gallio.Framework.Data.IDataItem)" /> after argument
            validation has been performed.
            </summary>
      <param name="item">The data item, not null.</param>
      <returns>The value.</returns>
      <exception cref="T:Gallio.Framework.Data.DataBindingException">Thrown if the data binding fails.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.BaseDataBinder">
      <summary>
            Abstract base class for <see cref="T:Gallio.Framework.Data.IDataBinder" /> that validates
            input arguments before passing them on to the implementation.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataBinder.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.BaseDataBinder" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataBinder.Register(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)">
      <summary>
            Registers the <see cref="T:Gallio.Framework.Data.IDataBinder" />'s requests to query particular
            <see cref="T:Gallio.Framework.Data.IDataSet" />s with the <see cref="T:Gallio.Framework.Data.DataBindingContext" />.
            </summary>
      <param name="context">The data binding context.</param>
      <param name="resolver">The data source resolver.</param>
      <returns>The data binding accessor to use for obtaining bound values
            from <see cref="T:Gallio.Framework.Data.IDataItem" />s produced by the <see cref="T:Gallio.Framework.Data.DataBindingContext" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="context" /> or <paramref name="resolver" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataBinder.RegisterImpl(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)">
      <summary>
            Implementation of <see cref="M:Gallio.Framework.Data.BaseDataBinder.Register(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)" />.
            </summary>
      <param name="context">The data binding context, not null.</param>
      <param name="resolver">The data source resolver, not null.</param>
      <returns>The data binding accessor.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.BaseDataItem">
      <summary>
            Abstract base class for data items.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataItem.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.BaseDataItem" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataItem.GetBindingsForInformalDescription">
      <summary>
            Gets an enumeration of the data bindings that may be queried to informally describe
            its contents.  The enumeration of bindings may not be complete.
            </summary>
      <returns>The enumeration of bindings.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataItem.GetValue(Gallio.Framework.Data.DataBinding)">
      <summary>
            Gets the value of the specified binding.
            </summary>
      <param name="binding">The data binding, never null.</param>
      <returns>The value.</returns>
      <exception cref="T:Gallio.Framework.Data.DataBindingException">Thrown if the <paramref name="binding" />
            cannot be resolved or if its value cannot be obtained.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataItem.GetValueImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Implements <see cref="M:Gallio.Framework.Data.BaseDataItem.GetValue(Gallio.Framework.Data.DataBinding)" />.
            </summary>
      <param name="binding">The binding, never null.</param>
      <returns>The associated value.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.BaseDataItem.IsDynamic">
      <summary>
            Returns true if the item contains data that is obtained dynamically from sources
            whose content may change over time or may be expensive to query ahead of time.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataItem.PopulateMetadata(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Populates the specified metadata map with key/value pairs associated with
            the data item, if any.
            </summary>
      <param name="map">The metadata map.</param>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataItem.PopulateMetadataImpl(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Implements <see cref="M:Gallio.Framework.Data.BaseDataItem.PopulateMetadata(Gallio.Common.Collections.PropertyBag)" />.
            </summary>
      <param name="map">The metadata map to populate, never null.</param>
    </member>
    <member name="T:Gallio.Framework.Data.BaseDataSet">
      <summary>
            Abstract base class for <see cref="T:Gallio.Framework.Data.IDataSet" /> that validates
            input arguments before passing them on to the implementation.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataSet.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.BaseDataSet" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataSet.CanBind(Gallio.Framework.Data.DataBinding)">
      <summary>
            Returns true if the data set can provide a value for the specified binding.
            </summary>
      <param name="binding">The binding.</param>
      <returns>True if the data set can provide a value for the binding.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="binding" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataSet.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.BaseDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataSet.GetItems(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Gets an enumeration of data items that can supply values for a given collection of bindings.
            It should produce items even if some of the requested bindings cannot be fulfilled.
            </summary>
      <param name="bindings">The bindings that are requested.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The enumeration of data items.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="bindings" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.BaseDataSet.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.BoundDataAccessor">
      <summary>
            A <see cref="T:Gallio.Framework.Data.IDataAccessor" /> that simply accesses a value contained
            by a data item using a particular <see cref="T:Gallio.Framework.Data.DataBinding" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.BoundDataAccessor.#ctor(Gallio.Framework.Data.DataBinding)">
      <summary>
            Creates a bound data accessor.
            </summary>
      <param name="binding">The binding to query.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="binding" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.CombinatorialJoinStrategy">
      <summary>
            The combinatorial join strategy combines items by constructing the cartesian
            product of the items of each provider.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.CombinatorialJoinStrategy.Instance">
      <summary>
            Gets the singleton instance of the strategy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.CombinatorialJoinStrategy.Join(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.IList{System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding}},System.Boolean)">
      <summary>
            Joins the items from each provider into a sequence of aggregate items.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindingsPerProvider">The list of bindings per provider.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>An enumeration of item-lists consisting of exactly one item from
            each provider and indexed in the same order as the <paramref name="providers" />
            collection.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.ConcatenationMergeStrategy">
      <summary>
            The concatenation merge strategy combines the items from multiple providers
            by simply concatenating the items in the order in which they
            appear and proceeding from one provider to the next until all providers
            have been fully processed.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.ConcatenationMergeStrategy.Instance">
      <summary>
            Gets the singleton instance of the strategy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ConcatenationMergeStrategy.Merge(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Merges the items from each provider into a new sequence.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindings">The bindings.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The merged sequence of items.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.ConstantDataAccessor">
      <summary>
            An implementation of <see cref="T:Gallio.Framework.Data.IDataAccessor" /> that
            returns a constant value, ignoring the data item it is passed.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ConstantDataAccessor.#ctor(System.Object)">
      <summary>
            Creates a data accessor that returns a specified constant value.
            </summary>
      <param name="value">The constant value to be returned by <see cref="M:Gallio.Framework.Data.IDataAccessor.GetValue(Gallio.Framework.Data.IDataItem)" />.</param>
    </member>
    <member name="T:Gallio.Framework.Data.CsvDataSet">
      <summary>
            A CSV data set retrieves fields from a CSV document as strings.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.CsvDataSet.#ctor(Gallio.Common.Func{System.IO.TextReader},System.Boolean)">
      <summary>
            Creates a CSV data set.
            </summary>
      <param name="documentReaderProvider">A delegate that provides the text reader for reading the CSV document on demand.</param>
      <param name="isDynamic">True if the data set should be considered dynamic.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="documentReaderProvider" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.CsvDataSet.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.CsvDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.CsvDataSet.CommentPrefix">
      <summary>
            Gets or sets a character that indicates that a line in the source represents a comment.
            May be set to '\0' (null) to disable comment handling.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.CsvDataSet.DataLocationName">
      <summary>
            Gets the name of the location that is providing the data, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.CsvDataSet.FieldDelimiter">
      <summary>
            Gets or sets the field delimiter character.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.CsvDataSet.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.CsvDataSet.HasHeader">
      <summary>
            Gets or sets whether the CSV document has a header that should be used to provide
            aliases for indexed columns.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.CsvReader">
      <summary>
            Reads data from a Comma Separated Values document.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.CsvReader.#ctor(System.IO.TextReader)">
      <summary>
            Creates a CSV reader. 
            </summary>
      <param name="documentReader">The text reader from which to read the contents of the document.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="documentReader" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.CsvReader.Close">
      <summary>
            Closes the reader.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.CsvReader.CommentPrefix">
      <summary>
            Gets or sets a character that indicates that a line in the source represents a comment.
            May be set to '\0' (null) to disable comment handling.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.CsvReader.FieldDelimiter">
      <summary>
            Gets or sets the field delimiter character.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.CsvReader.PreviousRecordLineNumber">
      <summary>
            Gets the 1-based line number of the previously returned record,
            or 0 if no lines have been read yet.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.CsvReader.ReadRecord">
      <summary>
            Reads the list of fields that belong to the next record in the document.
            Returns null at the end of the document.
            </summary>
      <returns>The record contents as an array of field values, or null if at the end of the document.</returns>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.DataBinding">
      <summary>
            A data binding object describes how a data binding is to take place.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBinding.#ctor(System.Nullable{System.Int32},System.String)">
      <summary>
            Creates a new data binding with an optional index and path.
            </summary>
      <param name="index">The binding index or null if none. <seealso cref="P:Gallio.Framework.Data.DataBinding.Index" />.</param>
      <param name="path">The binding path or null if none. <seealso cref="P:Gallio.Framework.Data.DataBinding.Path" />.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBinding.Equals(Gallio.Framework.Data.DataBinding)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Framework.Data.DataBinding.Equals(System.Object)">
      <summary>
                    Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
                </summary>
      <param name="obj">
                    The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />. 
                </param>
      <returns>true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
                </returns>
      <exception cref="T:System.NullReferenceException">
                    The <paramref name="obj" /> parameter is null.
                </exception>
    </member>
    <member name="M:Gallio.Framework.Data.DataBinding.GetHashCode">
      <summary>
                    Serves as a hash function for a particular type. 
                </summary>
      <returns>
                    A hash code for the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="P:Gallio.Framework.Data.DataBinding.Index">
      <summary>
            Gets an optional binding index that describes how to locate the bound value
            in a data set that is structured as an ordered tuple, such as the ordinal index
            of a cell in an array.  Null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.DataBinding.Path">
      <summary>
            Gets an optional binding path that describes how to locate the bound value
            in the data set, such as a column name or an XPath expression.  Null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBinding.ReplaceIndex(System.Nullable{System.Int32})">
      <summary>
            Creates a clone of the data binding with a different index.
            </summary>
      <param name="index">The new index.</param>
      <returns>The cloned binding.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.DataBinding.ToString">
      <summary>
            Returns a debug representation of the binding as a string.
            </summary>
      <returns>The string representation.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.DataBindingContext">
      <summary>
            A <see cref="T:Gallio.Framework.Data.DataBindingContext" /> tracks a list of <see cref="T:Gallio.Framework.Data.IDataSet" />s and
            <see cref="T:Gallio.Framework.Data.DataBinding" />s that are used to produce <see cref="T:Gallio.Framework.Data.IDataItem" />s.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingContext.#ctor(Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Creates a data binding context.
            </summary>
      <param name="converter">The converter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="converter" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.DataBindingContext.Converter">
      <summary>
            Gets the converter service.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.DataBindingContext.DataSets">
      <summary>
            Gets the immutable list of data sets to be enumerated during data binding.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingContext.GetItems(System.Boolean)">
      <summary>
            Gets an enumeration of <see cref="T:Gallio.Framework.Data.IDataItem" />s.
            </summary>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The enumeration of data items.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.DataBindingContext.HasBindings">
      <summary>
            Returns true if the data binding context contains registered data bindings.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingContext.RegisterBinding(Gallio.Framework.Data.IDataSet,Gallio.Framework.Data.DataBinding)">
      <summary>
            Registers a data binding for a given data set and adds the data set
            to the list of data sets to be enumerated during data binding.
            Returns a <see cref="T:Gallio.Framework.Data.IDataAccessor" /> that may be used to 
            retrieve the values associated with the binding.
            </summary>
      <param name="dataSet">The data set.</param>
      <param name="binding">The data binding.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dataSet" /> or <paramref name="binding" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.DataBindingContext.Strategy">
      <summary>
            Gets or sets the <see cref="T:Gallio.Framework.Data.IJoinStrategy" /> to use for combining the
            <see cref="P:Gallio.Framework.Data.DataBindingContext.DataSets" /> together.
            By default the strategy is <see cref="T:Gallio.Framework.Data.CombinatorialJoinStrategy" />.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.DataBindingException">
      <summary>
            The type of exception thrown when data binding operations fail.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingException.#ctor(System.String,Gallio.Framework.Data.DataBinding)">
      <summary>
            Creates an exception with an associated data binding.
            </summary>
      <param name="message">The message.</param>
      <param name="binding">The associated data binding, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingException.#ctor(System.String,Gallio.Framework.Data.DataBinding,System.Exception)">
      <summary>
            Creates an exception with an associated data binding.
            </summary>
      <param name="message">The message.</param>
      <param name="binding">The associated data binding, or null if none.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Framework.Data.DataBindingSpec">
      <summary>
            A data binding specification describes how values are bound to slots (<see cref="T:Gallio.Common.Reflection.ISlotInfo" />)
            of a type or method.  The specification can then be used to create new objects or invoke
            methods.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{Gallio.Common.Reflection.ISlotInfo,System.Object}},Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Creates a data binding spec.
            </summary>
      <param name="slotValues">The slot values.</param>
      <param name="converter">The converter to use for converting slot values
            to the required types.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="slotValues" />
            or <paramref name="converter" /> is null or if <paramref name="slotValues" />
            contains a null slot.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.AppendFormattedGenericArguments(System.Text.StringBuilder,System.Type[],Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Appends formatted generic arguments within angle brackets, if any.
            </summary>
      <param name="str">The string builder, not null.</param>
      <param name="arguments">The arguments, not null.</param>
      <param name="formatter">The formatter, not null.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.AppendFormattedMethodArguments(System.Text.StringBuilder,System.Object[],Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Appends formatted generic arguments within parentheses, if any.
            </summary>
      <param name="str">The string builder, not null.</param>
      <param name="arguments">The arguments, not null.</param>
      <param name="formatter">The formatter, not null.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.AppendFormattedNamedValues(System.Text.StringBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}},Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Appends formatted values keyed and sorted by name, if any.
            This method is used with fields and properties.
            </summary>
      <param name="str">The string builder, not null.</param>
      <param name="namedValues">The named values, not null.</param>
      <param name="formatter">The formatter, not null.</param>
    </member>
    <member name="P:Gallio.Framework.Data.DataBindingSpec.Converter">
      <summary>
            Gets the converter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.Format(System.String,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specification to a string for presentation.
            </summary>
      <param name="entity">The entity that is qualified by the specification such as the name of a type or method.</param>
      <param name="formatter">The formatter.</param>
      <returns>The formatted specification.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="entity" />
            or <paramref name="formatter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.FormatImpl(System.String,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Internal implementation of <see cref="M:Gallio.Framework.Data.DataBindingSpec.Format(System.String,Gallio.Runtime.Formatting.IFormatter)" /> after argument validation.
            </summary>
      <param name="entity">The entity that is qualified by the specification such as the name of a type or method.</param>
      <param name="formatter">The formatter, not null.</param>
      <returns>The formatted specification.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.DataBindingSpec.ResolveMember``1(System.Type,``0)">
      <summary>
            Resolves a member that may be declared by a generic type using the
            resolved type or one of its subtypes.
            </summary>
      <param name="resolvedType">The resolved type, not null.</param>
      <param name="member">The member, not null.</param>
      <typeparam name="T">The type of member.</typeparam>
      <returns>The resolved member.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.DataBindingSpec.SlotValues">
      <summary>
            Gets the slot values.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.DataItemUtils">
      <summary>
            Utilities for <see cref="T:Gallio.Framework.Data.IDataItem" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataItemUtils.GetMetadata(Gallio.Framework.Data.IDataItem)">
      <summary>
            Gets the metadata associated with a data item.
            </summary>
      <param name="dataItem">The data item.</param>
      <returns>The associated metadata.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.DataRow">
      <summary>
            A data row is a simple immutable value type that encpasulates an
            array of values along with associated metadata for use in data binding expressions.
            It presents a fluent interface that users may find more convenient than
            other <see cref="T:Gallio.Framework.Data.IDataItem" /> implementations.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataRow.#ctor(System.Object[])">
      <summary>
            Creates a data row with the specified array of values.
            </summary>
      <param name="values">The array of values.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataRow.GetBindingsForInformalDescription">
      <summary>
            Gets an enumeration of the data bindings that may be queried to informally describe
            its contents.  The enumeration of bindings may not be complete.
            </summary>
      <returns>The enumeration of bindings.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.DataRow.GetValueImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Implements <see cref="M:Gallio.Framework.Data.BaseDataItem.GetValue(Gallio.Framework.Data.DataBinding)" />.
            </summary>
      <param name="binding">The binding, never null.</param>
      <returns>The associated value.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.DataRow.IsDynamic">
      <summary>
            Returns true if the item contains data that is obtained dynamically from sources
            whose content may change over time or may be expensive to query ahead of time.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataRow.PopulateMetadataImpl(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Implements <see cref="M:Gallio.Framework.Data.BaseDataItem.PopulateMetadata(Gallio.Common.Collections.PropertyBag)" />.
            </summary>
      <param name="map">The metadata map to populate, never null.</param>
    </member>
    <member name="M:Gallio.Framework.Data.DataRow.WithMetadata(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Returns an augmented data row with added metadata from the
            specified metadata map.
            </summary>
      <param name="map">The metadata map.</param>
      <returns>The augmented data row.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="map" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.DataRow.WithMetadata(System.String,System.String)">
      <summary>
            Returns an augmented data row with added metadata.
            </summary>
      <param name="key">The metadata key.</param>
      <param name="value">The metadata value.</param>
      <returns>The augmented data row.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" />
            or <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.DataSource">
      <summary>
            An data source object provides a simple way of aggregating data sets
            together.  It also provides a simple translation mechanism for mapping
            binding paths to binding indexes which is useful for providing named
            aliases for columns in indexed data sets.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataSource.#ctor(System.String)">
      <summary>
            Creates a data source with a given name.
            </summary>
      <param name="name">The name of the data source, or an empty string if it is anonymous.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.DataSource.AddIndexAlias(System.String,System.Nullable{System.Int32})">
      <summary>
            Adds an alias for a binding path to map it to the specified index.
            </summary>
      <param name="path">The binding path to match in a case-insensitive manner.</param>
      <param name="index">The associated index to use instead.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.DataSource.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.DataSource.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.DataSource.Name">
      <summary>
            Gets the name of the data source, or an empty string if it is anonymous.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.DataSourceTable">
      <summary>
            A data source table manages a collection of named data sources.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataSourceTable.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.DataSourceTable" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.DataSourceTable.DefineDataSource(System.String)"></member>
    <member name="M:Gallio.Framework.Data.DataSourceTable.ResolveDataSource(System.String)">
      <summary>
            Resolves the data source with the specified name.
            </summary>
      <param name="name">The data source name.</param>
      <returns>The resolved data source, or null if none found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.FactoryDataSet">
      <summary>
            A factory data set generates data items by invoking a factory delegate
            and interpreting its output in accordance with the factory kind.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.FactoryDataSet.#ctor(Gallio.Common.Func{System.Collections.IEnumerable},Gallio.Framework.Data.FactoryKind,System.Int32)">
      <summary>
            Creates a factory data set.
            </summary>
      <param name="factory">The factory delegate.</param>
      <param name="factoryKind">The kind of factory.</param>
      <param name="columnCount">The number of columns in the data items produced
            by the factory or 0 if unknown.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factory" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="factoryKind" />
            is invalid or if <paramref name="columnCount" /> is less than 0.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.FactoryDataSet.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.FactoryDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.FactoryDataSet.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.FactoryKind">
      <summary>
            Specifies the kind of factory member referenced by <see cref="T:Gallio.Framework.Data.FactoryDataSet" />.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.FactoryKind.Auto">
      <summary>
            Automatically determines the type of factory based on the type of element
            returned by the enumeration.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.FactoryKind.DataSet">
      <summary>
            Specifies that the factory returns an enumeration <see cref="T:Gallio.Framework.Data.IDataSet" />s
            whose items are to be consumed.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.FactoryKind.DataItem">
      <summary>
            Specifies that the factory returns an enumeration of <see cref="T:Gallio.Framework.Data.IDataItem" />s
            (such as <see cref="T:Gallio.Framework.Data.DataRow" />, <see cref="T:Gallio.Framework.Data.ScalarDataItem`1" />, or <see cref="T:Gallio.Framework.Data.ListDataItem`1" />).
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.FactoryKind.ObjectArray">
      <summary>
            Specifies that the factory returns an enumeration of object arrays
            that describe successive items.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.FactoryKind.Object">
      <summary>
            Specifies that the factory returns an enumeration of single object values.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.IDataAccessor">
      <summary>
            A data accessor extracts a value from a <see cref="T:Gallio.Framework.Data.IDataItem" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataAccessor.GetValue(Gallio.Framework.Data.IDataItem)">
      <summary>
            Gets a value derived from the <see cref="T:Gallio.Framework.Data.IDataItem" />.
            </summary>
      <param name="item">The data item.</param>
      <returns>The value.</returns>
      <exception cref="T:Gallio.Framework.Data.DataBindingException">Thrown if the data binding fails.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="item" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.IDataBinder">
      <summary>
            A data binder specifies how to produce values that are suitable for data binding
            in some context.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataBinder.Register(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)">
      <summary>
            Registers the <see cref="T:Gallio.Framework.Data.IDataBinder" />'s requests to query particular
            <see cref="T:Gallio.Framework.Data.IDataSet" />s with the <see cref="T:Gallio.Framework.Data.DataBindingContext" />.
            </summary>
      <param name="context">The data binding context.</param>
      <param name="resolver">The data source resolver.</param>
      <returns>The data binding accessor to use for obtaining bound values
            from <see cref="T:Gallio.Framework.Data.IDataItem" />s produced by the <see cref="T:Gallio.Framework.Data.DataBindingContext" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="context" /> or <paramref name="resolver" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.IDataItem">
      <summary>
            A data item is an opaque representation of a collection of values
            and metadata that may be retrieved using data bindings that encode
            the appropriate lookup rules into the item.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataItem.GetBindingsForInformalDescription">
      <summary>
            Gets an enumeration of the data bindings that may be queried to informally describe
            its contents.  The enumeration of bindings may not be complete.
            </summary>
      <returns>The enumeration of bindings.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.IDataItem.GetValue(Gallio.Framework.Data.DataBinding)">
      <summary>
            Gets the value of the specified binding.
            </summary>
      <param name="binding">The data binding, never null.</param>
      <returns>The value.</returns>
      <exception cref="T:Gallio.Framework.Data.DataBindingException">Thrown if the <paramref name="binding" />
            cannot be resolved or if its value cannot be obtained.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.IDataItem.IsDynamic">
      <summary>
            Returns true if the item contains data that is obtained dynamically from sources
            whose content may change over time or may be expensive to query ahead of time.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataItem.PopulateMetadata(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Populates the specified metadata map with key/value pairs associated with
            the data item, if any.
            </summary>
      <param name="map">The metadata map.</param>
    </member>
    <member name="T:Gallio.Framework.Data.IDataProvider">
      <summary>
            A data provider generates an enumeration of <see cref="T:Gallio.Framework.Data.IDataItem" />s
            given a collection of <see cref="T:Gallio.Framework.Data.DataBinding" />s to satisfy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataProvider.GetItems(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Gets an enumeration of data items that can supply values for a given collection of bindings.
            It should produce items even if some of the requested bindings cannot be fulfilled.
            </summary>
      <param name="bindings">The bindings that are requested.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The enumeration of data items.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="bindings" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.IDataSet">
      <summary>
            A data set provides data items for data binding and describes whether
            is supports particular bindings.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataSet.CanBind(Gallio.Framework.Data.DataBinding)">
      <summary>
            Returns true if the data set can provide a value for the specified binding.
            </summary>
      <param name="binding">The binding.</param>
      <returns>True if the data set can provide a value for the binding.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="binding" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.IDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.IDataSourceResolver">
      <summary>
            Resolves data sources by name.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IDataSourceResolver.ResolveDataSource(System.String)">
      <summary>
            Resolves the data source with the specified name.
            </summary>
      <param name="name">The data source name.</param>
      <returns>The resolved data source, or null if none found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.IJoinStrategy">
      <summary>
            A join strategy combines items from multiple providers into products
            according to some algorithm.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IJoinStrategy.Join(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.IList{System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding}},System.Boolean)">
      <summary>
            Joins the items from each provider into a sequence of aggregate items.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindingsPerProvider">The list of bindings per provider.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>An enumeration of item-lists consisting of exactly one item from
            each provider and indexed in the same order as the <paramref name="providers" />
            collection.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.IMergeStrategy">
      <summary>
            A merge strategy combines items from multiple providers into a sequence
            according to some algorithm.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IMergeStrategy.Merge(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Merges the items from each provider into a new sequence.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindings">The bindings.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The merged sequence of items.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.IntersectionMergeStrategy">
      <summary>
            The intersection merge strategy combines the items from multiple providers
            by discarding items whose values do not appear in the items of all other
            providers.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.IntersectionMergeStrategy.Instance">
      <summary>
            Gets the singleton instance of the strategy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.IntersectionMergeStrategy.Merge(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Merges the items from each provider into a new sequence.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindings">The bindings.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The merged sequence of items.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.ItemSequenceDataSet">
      <summary>
            A data set constructed from a sequence of data items.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ItemSequenceDataSet.#ctor(System.Collections.Generic.IEnumerable{Gallio.Framework.Data.IDataItem},System.Int32)">
      <summary>
            Creates a row data set.
            </summary>
      <param name="items">The sequence of items.</param>
      <param name="columnCount">The column count.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="items" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="columnCount" /> is negative.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.ItemSequenceDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.JoinedDataSet">
      <summary>
            A joined data set is an aggregate data set that joins items from each of zero or more
            other data sets according to a <see cref="T:Gallio.Framework.Data.IJoinStrategy" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.JoinedDataSet.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.JoinedDataSet" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.JoinedDataSet.AddDataSet(Gallio.Framework.Data.IDataSet)">
      <summary>
            Adds a data set to the aggregate.
            </summary>
      <param name="dataSet">The data set to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dataSet" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="dataSet" /> is already a member of this aggregate.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.JoinedDataSet.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.JoinedDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.JoinedDataSet.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.JoinedDataSet.Strategy">
      <summary>
            Gets or sets the <see cref="T:Gallio.Framework.Data.IJoinStrategy" />.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.JoinedDataSet.TranslateBinding(Gallio.Framework.Data.IDataSet,Gallio.Framework.Data.DataBinding)">
      <summary>
            Translates a binding into one that expresses a query that is scoped over
            a particular data set that is associated with this interface.
            </summary>
      <param name="dataSet">The data set.</param>
      <param name="binding">The binding.</param>
      <returns>The translated binding.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dataSet" />
            or <paramref name="binding" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="dataSet" />
            is not a member of this instance.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.ListDataItem`1">
      <summary>
            A list data item contains a list of static data values combined with
            optional metadata for the item.  Data binding occurs based on the binding
            index alone.
            </summary>
      <typeparam name="T">The value type.</typeparam>
    </member>
    <member name="M:Gallio.Framework.Data.ListDataItem`1.#ctor(System.Collections.Generic.IList{`0},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean)">
      <summary>
            Creates a list data item with optional metadata.
            </summary>
      <param name="values">The list of values.</param>
      <param name="metadataPairs">The metadata key/value pairs, or null if none.</param>
      <param name="isDynamic">True if the item contains dynamic data.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.ListDataItem`1.GetBindingsForInformalDescription">
      <summary>
            Gets an enumeration of the data bindings that may be queried to informally describe
            its contents.  The enumeration of bindings may not be complete.
            </summary>
      <returns>The enumeration of bindings.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.MergedDataSet">
      <summary>
            A merged data set is an aggregate data set that selects items from each of zero or more
            other data sets according to a <see cref="T:Gallio.Framework.Data.IMergeStrategy" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.MergedDataSet.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Data.MergedDataSet" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Data.MergedDataSet.AddDataSet(Gallio.Framework.Data.IDataSet)">
      <summary>
            Adds a data set to the aggregate.
            </summary>
      <param name="dataSet">The data set to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dataSet" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="dataSet" /> is already a member of this aggregate.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.MergedDataSet.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.MergedDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.MergedDataSet.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.MergedDataSet.Strategy">
      <summary>
            Gets or sets the <see cref="T:Gallio.Framework.Data.IMergeStrategy" />.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.MethodInvocationSpec">
      <summary>
            Encapsulates a specification for invoking a method given values for
            its generic parameters and formal parameters.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.MethodInvocationSpec.#ctor(System.Type,Gallio.Common.Reflection.IMethodInfo,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{Gallio.Common.Reflection.ISlotInfo,System.Object}},Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Creates a new method specification.
            </summary>
      <param name="resolvedType">The non-generic type or generic type instantiation
            that declares the method to be invoked or is a subtype of the declaring type.
            This parameter is used to resolve the method to its declaring type.</param>
      <param name="method">The method or generic method definition to be instantiated.</param>
      <param name="slotValues">The slot values.</param>
      <param name="converter">The converter to use for converting slot values
            to the required types.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="resolvedType" />,
            <paramref name="method" />, <paramref name="slotValues" /> or <paramref name="converter" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="slotValues" /> contains
            slots that are declared by different methods or have incompatible values.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.MethodInvocationSpec.Invoke(System.Object)">
      <summary>
            Invokes the method.
            </summary>
      <param name="obj">The object on which to invoke the method.  This value is ignored
            if the method is static.</param>
      <returns>The method result value.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="obj" /> is
            null but the method is non-static.</exception>
      <exception cref="T:System.Exception">Any exception thrown by the invoked method.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.MethodInvocationSpec.Method">
      <summary>
            Gets the method or generic method definition to be invoked.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.MethodInvocationSpec.ResolvedArguments">
      <summary>
            Gets the resolved method arguments.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.MethodInvocationSpec.ResolvedMethod">
      <summary>
            Gets the resolved method given any generic method arguments that may have
            been provided as slot values.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.MethodInvocationSpec.ResolvedType">
      <summary>
            Gets the resolved type that declares the method.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.NullDataItem">
      <summary>
            A null data item simply returns a null value on each request.
            It has no metadata.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.NullDataItem.GetBindingsForInformalDescription">
      <summary>
            Gets an enumeration of the data bindings that may be queried to informally describe
            its contents.  The enumeration of bindings may not be complete.
            </summary>
      <returns>The enumeration of bindings.</returns>
    </member>
    <member name="F:Gallio.Framework.Data.NullDataItem.Instance">
      <summary>
            Gets the singleton null data item instance.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.NullDataItem.IsDynamic">
      <summary>
            Returns true if the item contains data that is obtained dynamically from sources
            whose content may change over time or may be expensive to query ahead of time.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.ObjectCreationSpec">
      <summary>
            Encapsulates a specification for creating objects given values for
            a type's generic parameters, constructor parameters, fields and properties.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ObjectCreationSpec.#ctor(Gallio.Common.Reflection.ITypeInfo,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{Gallio.Common.Reflection.ISlotInfo,System.Object}},Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Creates a new object specification.
            </summary>
      <param name="type">The type or generic type definition to be instantiated.</param>
      <param name="slotValues">The slot values.</param>
      <param name="converter">The converter to use for converting slot values
            to the required types.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" />,
            <paramref name="slotValues" /> or <paramref name="converter" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="type" />
            has an element type or if <paramref name="slotValues" /> contains
            slots that are declared by different types or have incompatible values.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.ObjectCreationSpec.CreateInstance">
      <summary>
            Creates an instance of the resolved type and initializes it using
            constructor parameter, field and property slot values.
            </summary>
      <returns>The new instance, never null.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the type is not instantiable.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.ObjectCreationSpec.ResolvedConstructor">
      <summary>
            Gets the resolved constructor, or null if the type was abstract or if it was
            a struct and the default struct constructor is being use.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.ObjectCreationSpec.ResolvedConstructorArguments">
      <summary>
            Gets the resolved constructor arguments.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.ObjectCreationSpec.ResolvedFieldValues">
      <summary>
            Gets the resolved fields and their values.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.ObjectCreationSpec.ResolvedPropertyValues">
      <summary>
            Gets the resolved properties and their values.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.ObjectCreationSpec.ResolvedType">
      <summary>
            Gets the resolved type given any generic type arguments that may have
            been provided as slot values.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.ObjectCreationSpec.Type">
      <summary>
            Gets the type or generic type definition to be instantiated.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.ObjectDataBinder">
      <summary>
            An object data binder creates objects and binds values to its slots such as
            generic type parameters, constructor parameters, fields and properties.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ObjectDataBinder.#ctor(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Creates an object data binder initially without slot binders.
            </summary>
      <param name="type">The type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.ObjectDataBinder.RegisterImpl(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)">
      <summary>
            Implementation of <see cref="M:Gallio.Framework.Data.BaseDataBinder.Register(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)" />.
            </summary>
      <param name="context">The data binding context, not null.</param>
      <param name="resolver">The data source resolver, not null.</param>
      <returns>The data binding accessor.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.ObjectDataBinder.SetSlotBinder(Gallio.Common.Reflection.ISlotInfo,Gallio.Framework.Data.IDataBinder)">
      <summary>
            Sets the binder for a slot.
            </summary>
      <param name="slot">The slot.</param>
      <param name="binder">The binder.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="slot" />
            or <paramref name="binder" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Data.PairwiseJoinStrategy">
      <summary>
            The pairwise strategy constructs a limited number of combinations of the
            items within the data providers such that they cover all possible pairs
            of values from each data source.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.PairwiseJoinStrategy.Instance">
      <summary>
            Gets the singleton instance of the strategy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.PairwiseJoinStrategy.Join(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.IList{System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding}},System.Boolean)">
      <summary>
            Joins the items from each provider into a sequence of aggregate items.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindingsPerProvider">The list of bindings per provider.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>An enumeration of item-lists consisting of exactly one item from
            each provider and indexed in the same order as the <paramref name="providers" />
            collection.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.ScalarDataBinder">
      <summary>
            A scalar data binder queries a specified data source with a data binding
            and converts the resulting value to the requested type.
            It does nothing during unbinding.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ScalarDataBinder.#ctor(Gallio.Framework.Data.DataBinding,System.String)">
      <summary>
            Creates a scalar data binder.
            </summary>
      <param name="binding">The data binding.</param>
      <param name="sourceName">The data source name to query, or an empty string if it is anonymous.</param>
    </member>
    <member name="M:Gallio.Framework.Data.ScalarDataBinder.RegisterImpl(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)">
      <summary>
            Implementation of <see cref="M:Gallio.Framework.Data.BaseDataBinder.Register(Gallio.Framework.Data.DataBindingContext,Gallio.Framework.Data.IDataSourceResolver)" />.
            </summary>
      <param name="context">The data binding context, not null.</param>
      <param name="resolver">The data source resolver, not null.</param>
      <returns>The data binding accessor.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.ScalarDataItem`1">
      <summary>
            A scalar data item represents a single static data value combined with
            optional metadata for the item.  Data binding occurs whenever the binding
            index is 0.
            </summary>
      <typeparam name="T">The value type.</typeparam>
    </member>
    <member name="M:Gallio.Framework.Data.ScalarDataItem`1.#ctor(`0,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean)">
      <summary>
            Creates a scalar data item with optional metadata.
            </summary>
      <param name="value">The value to hold.</param>
      <param name="metadataPairs">The metadata key/value pairs, or null if none.</param>
      <param name="isDynamic">True if the item contains dynamic data.</param>
    </member>
    <member name="M:Gallio.Framework.Data.ScalarDataItem`1.GetBindingsForInformalDescription">
      <summary>
            Gets an enumeration of the data bindings that may be queried to informally describe
            its contents.  The enumeration of bindings may not be complete.
            </summary>
      <returns>The enumeration of bindings.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.SequentialJoinStrategy">
      <summary>
            The sequential join strategy combines items from each data provider sequentially.
            If one provider contains fewer items than the others, the sequential join strategy
            will insert a <see cref="T:Gallio.Framework.Data.NullDataItem" /> in its place until all other providers have been exhausted.
            This is similar to performing an "outer join" of multiple sources by ordinal index.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.SequentialJoinStrategy.Instance">
      <summary>
            Gets the singleton instance of the strategy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.SequentialJoinStrategy.Join(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.IList{System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding}},System.Boolean)">
      <summary>
            Joins the items from each provider into a sequence of aggregate items.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindingsPerProvider">The list of bindings per provider.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>An enumeration of item-lists consisting of exactly one item from
            each provider and indexed in the same order as the <paramref name="providers" />
            collection.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.SimpleDataItem">
      <summary>
            An implementation of <see cref="T:Gallio.Framework.Data.IDataItem" /> that stores the dynamic flag
            and metadata.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.SimpleDataItem.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean)">
      <summary>
            Creates a data item.
            </summary>
      <param name="metadataPairs">The metadata key/value pairs for the item, or null if none.</param>
      <param name="isDynamic">True if the item is dynamic.</param>
    </member>
    <member name="P:Gallio.Framework.Data.SimpleDataItem.IsDynamic">
      <summary>
            Returns true if the item contains data that is obtained dynamically from sources
            whose content may change over time or may be expensive to query ahead of time.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.SimpleDataItem.PopulateMetadataImpl(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Implements <see cref="M:Gallio.Framework.Data.BaseDataItem.PopulateMetadata(Gallio.Common.Collections.PropertyBag)" />.
            </summary>
      <param name="map">The metadata map to populate, never null.</param>
    </member>
    <member name="T:Gallio.Framework.Data.UnionMergeStrategy">
      <summary>
            The union merge strategy combines the items from multiple providers by
            discarding all items whose values duplicate those of other items that
            have already been enumerated.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Data.UnionMergeStrategy.Instance">
      <summary>
            Gets the singleton instance of the strategy.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.UnionMergeStrategy.Merge(System.Collections.Generic.IList{Gallio.Framework.Data.IDataProvider},System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Merges the items from each provider into a new sequence.
            </summary>
      <param name="providers">The list of providers.</param>
      <param name="bindings">The bindings.</param>
      <param name="includeDynamicItems">If true, includes items that may be dynamically
            generated in the result set.  Otherwise excludes such items and only returns
            those that are statically known a priori.</param>
      <returns>The merged sequence of items.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.ValueSequenceDataSet">
      <summary>
            A data set constructed from an enumerated sequence of values.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.ValueSequenceDataSet.#ctor(System.Collections.IEnumerable,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean)">
      <summary>
            Creates a column sequence data set with optional metadata.
            </summary>
      <param name="values">The sequence of column values, each generating an item.</param>
      <param name="metadataPairs">The metadata key/value pair enumeration, or null if none.</param>
      <param name="isDynamic">True if the sequence is dynamic.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Data.ValueSequenceDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.XmlDataSet">
      <summary>
            An XML data set selects nodes from an XML document using XPath
            expressions.  The selected nodes are returned as <see cref="T:System.Xml.XPath.XPathNavigator" /> objects.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.XmlDataSet.#ctor(Gallio.Common.Func{System.Xml.XPath.IXPathNavigable},System.String,System.Boolean)">
      <summary>
            Creates an XML data set.
            </summary>
      <param name="documentProvider">A delegate that produces the XML document on demand.</param>
      <param name="itemPath">The XPath expression used to select items within the document.</param>
      <param name="isDynamic">True if the data set should be considered dynamic.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="documentProvider" /> or <paramref name="itemPath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.XmlDataSet.CanBindImpl(Gallio.Framework.Data.DataBinding)">
      <summary>
            Determines whether a binding can be satisfied by the data set.
            </summary>
      <param name="binding">The data binding, not null.</param>
      <returns>True if the binding can be satisfied.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.XmlDataSet.ColumnCount">
      <summary>
            Gets the number of columns in an indexed data set.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.XmlDataSet.DataLocationName">
      <summary>
            Gets the name of the location that is providing the data, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.XmlDataSet.GetItemsImpl(System.Collections.Generic.ICollection{Gallio.Framework.Data.DataBinding},System.Boolean)">
      <summary>
            Enumerates the data items in the data set.
            </summary>
      <param name="bindings">The data bindings, not null.</param>
      <param name="includeDynamicItems">If true, includes dynamic items.</param>
      <returns>The enumeration of data items in the combined data set.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.GenerationException">
      <summary>
            This exception type is used to signal an error while using a data generator.
            The exception message, if present, should explain the reason that the test was generator has failed.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.GenerationException.#ctor">
      <summary>
            Creates a exception.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.GenerationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates a exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.GenerationException.#ctor(System.String)">
      <summary>
            Creates a exception with the specified message..
            </summary>
      <param name="message">The message, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.GenerationException.#ctor(System.String,System.Exception)">
      <summary>
            Creates a exception with the specified message and the inner exception.
            </summary>
      <param name="message">The message, or null if none.</param>
      <param name="innerException">The inner exception, or null if none.</param>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.Generator`1">
      <summary>
            Generic abstract generator of values.
            </summary>
      <typeparam name="T">The type of the values returned by the generator.</typeparam>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.Generator`1.#ctor">
      <summary>
            Default constructor.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.Generator`1.CheckProperty(System.Decimal,System.String)">
      <summary>
            Checks for the specified value to be not one of the following:
            <list type="bullet"><item><see cref="F:System.Decimal.MinValue" /></item><item><see cref="F:System.Decimal.MaxValue" /></item></list></summary>
      <param name="propertyValue">The <see cref="T:System.Decimal" /> property value to be checked.</param>
      <param name="propertyName">A friendly name for the property.</param>
      <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">The specified property value is invalid.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.Generator`1.CheckProperty(System.Int32,System.String)">
      <summary>
            Checks for the specified value to be not one of the following:
            <list type="bullet"><item><see cref="F:System.Int32.MinValue" /></item><item><see cref="F:System.Int32.MaxValue" /></item></list></summary>
      <param name="propertyValue">The <see cref="T:System.Int32" /> property value to be checked.</param>
      <param name="propertyName">A friendly name for the property.</param>
      <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">The specified property value is invalid.</exception>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.Generator`1.DoFilter(`0)">
      <summary>
            Filters the specified value.
            </summary>
      <param name="value">The value to be filtered.</param>
      <returns>True if the value is accepted; false otherwise.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.Generator`1.Filter">
      <summary>
            Gets or sets the filter function that can be used
            to reject or accept generated values.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.Generator`1.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.IGenerator">
      <summary>
            Generator of values.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.IGenerator.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.RandomGenerator`1">
      <summary>
            Generic abstract generator of random values within a given range.
            </summary>
      <typeparam name="T">The type of the value to generate.</typeparam>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomGenerator`1.#ctor">
      <summary>
            Default constructor.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.RandomGenerator`1.Count">
      <summary>
            Gets the length of the sequence of values
            created by the generator.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomGenerator`1.GetSequence">
      <summary>
            Returns the sequence of random numbers.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="F:Gallio.Framework.Data.Generation.RandomGenerator`1.InnerGenerator">
      <summary>
            A general purpose pseudo-random number generator.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.RandomGenerator`1.Maximum">
      <summary>
            Gets the upper bound of the range.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.RandomGenerator`1.Minimum">
      <summary>
            Gets the lower bound of the range.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomGenerator`1.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.RandomNumbersGenerator">
      <summary>
            Generator of random <see cref="T:System.Decimal" /> values within a given range.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomNumbersGenerator.#ctor">
      <summary>
            Constructs a generator of random <see cref="T:System.Decimal" /> numbers.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomNumbersGenerator.GetSequence">
      <summary>
            Returns the sequence of random numbers.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.RandomRegexLiteStringsGenerator">
      <summary>
            Generator of random <see cref="T:System.String" /> objects based on a regular expression filter mask.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomRegexLiteStringsGenerator.#ctor">
      <summary>
            Constructs a generator of random <see cref="T:System.String" /> objects.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomRegexLiteStringsGenerator.GetNextString">
      <summary>
            Generates the next random string.
            </summary>
      <returns>A random string.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.RandomRegexLiteStringsGenerator.RegularExpressionPattern">
      <summary>
            Gets or sets regular expression pattern that serves as a filter mask.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomRegexLiteStringsGenerator.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.RandomStockStringsGenerator">
      <summary>
            Generator of random <see cref="T:System.String" /> objects from a predefined list of string values.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomStockStringsGenerator.#ctor">
      <summary>
            Constructs a generator of random <see cref="T:System.String" /> objects.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomStockStringsGenerator.GetNextString">
      <summary>
            Generates the next random string.
            </summary>
      <returns>A random string.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomStockStringsGenerator.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.RandomStockStringsGenerator.Values">
      <summary>
            Gets or sets the predefined string values.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.RandomStringsGenerator">
      <summary>
            Generator of random <see cref="T:System.String" /> objects based on a regular expression filter mask.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomStringsGenerator.#ctor">
      <summary>
            Constructs a generator of random <see cref="T:System.String" /> objects.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.RandomStringsGenerator.Count">
      <summary>
            Gets or sets the length of the sequence of strings
            created by the generator.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomStringsGenerator.GetNextString">
      <summary>
            Generates the next random string.
            </summary>
      <returns>A random string.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.RandomStringsGenerator.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.SequentialGenerator`1">
      <summary>
            Generic abstract generator of sequential numeric values.
            </summary>
      <typeparam name="T">The type of the value to generate.</typeparam>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialGenerator`1.#ctor">
      <summary>
            Default constructor.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Count">
      <summary>
            Gets or sets the length of the sequence of values
            created by the generator.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.End">
      <summary>
            Gets or sets the ending point of the sequence.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialGenerator`1.GetStartEndCountSequence">
      <summary>
            Returns the linear sequence constructed by using the <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start" />, <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.End" />, and <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Count" /> properties.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialGenerator`1.GetStartEndStepSequence">
      <summary>
            Returns the linear sequence constructed by using the <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start" />, <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.End" />, and <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Step" /> properties.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialGenerator`1.GetStartStepCountSequence">
      <summary>
            Returns the linear sequence constructed by using the <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start" />, <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Step" />, and <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Count" /> properties.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialGenerator`1.Run">
      <summary>
            Generates the sequence of values.
            </summary>
      <returns>An enumeration of generated values.</returns>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start">
      <summary>
            Gets or sets the starting point of the sequence.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Step">
      <summary>
            Gets or sets the increment between each value of the sequence.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Data.Generation.SequentialNumbersGenerator">
      <summary>
            Generator of sequential <see cref="T:System.Decimal" /> values.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialNumbersGenerator.#ctor">
      <summary>
            Default constructor.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialNumbersGenerator.GetStartEndCountSequence">
      <summary>
            Returns the linear sequence constructed by using the <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start" />, <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.End" />, and <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Count" /> properties.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialNumbersGenerator.GetStartEndStepSequence">
      <summary>
            Returns the linear sequence constructed by using the <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start" />, <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.End" />, and <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Step" /> properties.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="M:Gallio.Framework.Data.Generation.SequentialNumbersGenerator.GetStartStepCountSequence">
      <summary>
            Returns the linear sequence constructed by using the <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Start" />, <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Step" />, and <see cref="P:Gallio.Framework.Data.Generation.SequentialGenerator`1.Count" /> properties.
            </summary>
      <returns>The sequence of values.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.AnnotationPatternAttribute">
      <summary>
            Associates an annotation message with a code element.  When the code element
            is processed as part of building some other test, the annotation message will
            be emitted.  This may be used to signal error, warning, and informational
            messages associated with the code element in question.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.AnnotationPatternAttribute.#ctor(Gallio.Model.AnnotationType,System.String)">
      <summary>
            Associates an annotation message of the specified type with the code element.
            </summary>
      <param name="type">The annotation type.</param>
      <param name="message">The annotation message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.AnnotationPatternAttribute.Details">
      <summary>
            Gets or sets optional detail text of the annotation, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.AnnotationPatternAttribute.Message">
      <summary>
            Gets the annotation message.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.AnnotationPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.AnnotationPatternAttribute.Type">
      <summary>
            Gets the annotation type.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.BaseBuilder">
      <summary>
            Abstract base class for typical builder implementations.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseBuilder.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.BaseBuilder" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseBuilder.AddDeferredAction(Gallio.Common.Reflection.ICodeElementInfo,System.Int32,Gallio.Common.Action)">
      <summary>
            Registers a deferred action to be performed when <see cref="M:Gallio.Framework.Pattern.ISupportDeferredActions.ApplyDeferredActions" /> is called.
            </summary>
      <param name="codeElement">The associated code element, used to report errors if the deferred action throws an exception.</param>
      <param name="order">The order in which the action should be applied, from least order to greatest.</param>
      <param name="deferredAction">The action to perform.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" />
            or <paramref name="deferredAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseBuilder.ApplyDeferredActions">
      <summary>
            Applies all pending deferred in order and clears the list.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseBuilder.GetTestModelBuilder">
      <summary>
            Gets the test model builder.
            </summary>
      <returns>The test model builder.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.BasePattern">
      <summary>
            Abstract base implementation of <see cref="T:Gallio.Framework.Pattern.IPattern" /> with do-nothing
            implementations.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BasePattern.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.BasePattern" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BasePattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.BasePattern.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BasePattern.IsTest(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.BasePattern.IsTestPart(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a test method
            or a test contribution like a setup or teardown method.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.BasePattern.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.BaseTestComponentBuilder">
      <summary>
            Abstract base class for test component builders.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseTestComponentBuilder.#ctor(Gallio.Framework.Pattern.ITestModelBuilder)">
      <summary>
            Creates a test component builder.
            </summary>
      <param name="testModelBuilder">The associated test model builder.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModelBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseTestComponentBuilder.AddMetadata(System.String,System.String)">
      <summary>
            Adds a metadata key value pair.
            </summary>
      <param name="key">The metadata key.</param>
      <param name="value">The value to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.BaseTestComponentBuilder.CodeElement">
      <summary>
            Gets a reference to the point of definition of this test
            component in the code, or null if unknown.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseTestComponentBuilder.GetTestComponent">
      <summary>
            Gets the underlying test component.
            </summary>
      <returns>The test component.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseTestComponentBuilder.GetTestModelBuilder">
      <summary>
            Gets the test model builder.
            </summary>
      <returns>The test model builder.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.BaseTestComponentBuilder.Id">
      <summary>
            Gets the stable unique identifier of the component.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.BaseTestComponentBuilder.Name">
      <summary>
            Gets or sets the name of the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.BaseTestComponentBuilder.ToTestComponent">
      <summary>
            Gets the underlying test component.
            </summary>
      <returns>The underlying test component.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.ContributionMethodPatternAttribute">
      <summary>
            A contribution method pattern attribute applies decorations to a containing scope
            such as by introducing a new setup or teardown action to a test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ContributionMethodPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.ContributionMethodPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ContributionMethodPatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ContributionMethodPatternAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
        <para>
            Applies decorations to the containing test.
            </para>
      </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="method">The method to process.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.ContributionMethodPatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ContributionMethodPatternAttribute.IsTestPart(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a test method
            or a test contribution like a setup or teardown method.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ContributionMethodPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="method">The method.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.DataPatternAttribute">
      <summary>
            The data pattern attribute applies a data source to a fixture or test
            parameter declaratively.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DataPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.DataPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DataPatternAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Populates the data source with the contributions of this attribute.
            </summary>
      <param name="scope">The scope.</param>
      <param name="dataSource">The data source.</param>
      <param name="codeElement">The code element.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.DataPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DataPatternAttribute.SourceName">
      <summary>
            Gets or sets the name of the data source to create so that the values produced
            by this attribute can be referred to elsewhere.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DataPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.DeclarativePatternResolver">
      <summary>
            A declarative pattern resolver based on <see cref="T:Gallio.Framework.Pattern.PatternAttribute" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DeclarativePatternResolver.GetPatterns(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the patterns associated with the specified code element.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of patterns.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="F:Gallio.Framework.Pattern.DeclarativePatternResolver.Instance">
      <summary>
            Gets the singleton instance of the declarative pattern resolver.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.DecoratorPatternAttribute">
      <summary>
            A decorator attribute applies contributions to a test component in scope
            such as a test or test parameter generated by some other pattern attribute.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DecoratorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.DecoratorPatternAttribute" /> class</summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DecoratorPatternAttribute.Order">
      <summary>
            Gets or sets the order in which the decorator should be applied.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.DefaultPatternEvaluator">
      <summary>
            Default implementation of a pattern evaluator.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.#ctor(Gallio.Framework.Pattern.ITestModelBuilder,Gallio.Framework.Pattern.IPatternResolver)">
      <summary>
            Creates a pattern evaluator.
            </summary>
      <param name="testModelBuilder">The test model builder.</param>
      <param name="patternResolver">The pattern resolver.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModelBuilder" /> or
            <paramref name="patternResolver" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Consumes the specified code element.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to consume.</param>
      <param name="skipChildren">If true, instructs the primary pattern to defer populating child tests.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="containingScope" />
            or <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.GetDeclaredTests(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Finds tests that are declared by the specified <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" />.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of tests.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.GetPatterns(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets all patterns associated with a code element.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of patterns, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.GetPrimaryPattern(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the primary pattern associated with a code element, or null if none.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The primary pattern, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if there are multiple primary patterns associated with the code element.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.GetScopes(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Finds scopes that are associated with the specified <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" />
            and returns an enumeration of their <see cref="T:Gallio.Framework.Pattern.IPatternScope" /> objects.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of scopes.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.HasPatterns(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if a code element has one or more associated patterns.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element has an associated pattern.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.IsTest(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="codeElement">The code element.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <returns>True if the code element represents a test.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.IsTestPart(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Returns true if the code element represents a part of a test.
            </summary>
      <param name="codeElement">The code element.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <returns>True if the code element represents a test.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes the specified code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternEvaluator.RegisterScope(Gallio.Framework.Pattern.IPatternScope)">
      <summary>
            Registers the scope so that it can be resolved later by <see cref="M:Gallio.Framework.Pattern.IPatternEvaluator.GetScopes(Gallio.Common.Reflection.ICodeElementInfo)" />.
            </summary>
      <param name="scope">The scope.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="scope" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternEvaluator.RootScope">
      <summary>
            Gets the scope of the root test.
            </summary>
      <returns>The root scope.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternEvaluator.TestModelBuilder">
      <summary>
            Gets the builder for the test model under construction.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.DefaultPatternScope">
      <summary>
            Default implementation of a pattern scope.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.#ctor(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestBuilder,Gallio.Framework.Pattern.ITestParameterBuilder,Gallio.Framework.Pattern.ITestDataContextBuilder,System.Boolean)">
      <summary>
            Creates a new scope.
            </summary>
      <param name="evaluator">The pattern evaluator.</param>
      <param name="codeElement">The code element associated with the scope, or null if none.</param>
      <param name="testBuilder">The test builder in scope.</param>
      <param name="testParameterBuilder">The test parameter builder in scope, or null if none.</param>
      <param name="testDataContextBuilder">The test data context builder.</param>
      <param name="isDeclaration">True if the scope represents the initial point of declaration
            of a given test component.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="evaluator" />,
            <paramref name="testBuilder" /> or <paramref name="testDataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)">
      <summary>
            Adds an action to the scope that enables a pattern to lazily populate the test model
            with components generated in nested scopes.  This is used when
            <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> is called with the option to skip children.
            </summary>
      <param name="populator">A <see cref="T:Gallio.Framework.Pattern.DeferredComponentPopulator" /> supplied by the pattern to populate
            its components lazily.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="populator" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.CanAddChildTest">
      <summary>
            Returns true if a child test can be added to the test within scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.CanAddTestParameter">
      <summary>
            Returns true if a test parameter can be added to the test within scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.CodeElement">
      <summary>
            Gets the code element associated with the scope, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.Consume(Gallio.Common.Reflection.ICodeElementInfo,System.Boolean,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Consumes the specified code element using this scope as the containing scope.
            </summary>
      <param name="codeElement">The code element to consume.</param>
      <param name="skipChildren">If true, instructs the primary pattern to defer populating child tests.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.CreateChildTestDataContextScope(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a child test data context derived from the builders of this scope.
            Returns the scope of the newly created child test data context.
            </summary>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The scope of the newly created child test data context.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.CreateChildTestScope(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a child test with its own child data context derived from the
            builders of this scope.  Returns the scope of the newly created child test.
            </summary>
      <param name="name">The test name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The scope of the newly created child test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if <see cref="P:Gallio.Framework.Pattern.IPatternScope.CanAddChildTest" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.CreateScope(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestBuilder,Gallio.Framework.Pattern.ITestParameterBuilder,Gallio.Framework.Pattern.ITestDataContextBuilder,System.Boolean)">
      <summary>
            Creates and registers a scope for a test component.
            </summary>
      <param name="codeElement">The code element to associate with the scope.</param>
      <param name="testBuilder">The test builder.</param>
      <param name="testParameterBuilder">The test parameter builder, or null if the scope
            is to be associated to the test only.</param>
      <param name="testDataContextBuilder">The test data context builder.</param>
      <param name="isDeclaration">If true, the scope represents the point of declaration
            of the test component with which it is associated.</param>
      <returns>The new scope.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" />,
            <paramref name="testBuilder" />, <paramref name="testParameterBuilder" />
            or <paramref name="testDataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.CreateTestParameterScope(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a test parameter for the test in scope with its own
            child data context derived from the builders of this scope.  Returns
            the scope of the newly created test parameter.
            </summary>
      <param name="name">The test parameter name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The scope of the newly created test parameter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if <see cref="P:Gallio.Framework.Pattern.IPatternScope.CanAddTestParameter" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.Evaluator">
      <summary>
            Gets the pattern evaluator.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.IsTestDeclaration">
      <summary>
            Returns true if the scope represents a test declaration.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.IsTestParameterDeclaration">
      <summary>
            Returns true if the scope represents a test parameter declaration.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.PopulateDeferredComponents(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Asks all registered deferred component populators to build components whose
            construction had previously been deferred.
            </summary>
      <param name="codeElementHint">The code element hint to identify the location of the
            particular components to populate, or null to populate them all.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultPatternScope.Process(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes the specified code element using this scope as the current scope.
            </summary>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.TestBuilder">
      <summary>
            Gets a builder for applying contributions to the test currently being
            constructed within this scope.  Never null.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.TestComponentBuilder">
      <summary>
            Gets a builder for applying contributions to the test component currently being
            constructed within this scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.TestDataContextBuilder">
      <summary>
            Gets a builder for applying contributions to the current test data context within the scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.TestModelBuilder">
      <summary>
            Gets a builder for applying contributions to the test model.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultPatternScope.TestParameterBuilder">
      <summary>
            Gets a builder for applying contributions to the test parameter currently being
            constructed within this scope, if there is one, or null if there is no
            test parameter in scope.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.DefaultTestBuilder">
      <summary>
            Default implementation of a test model builder.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.#ctor(Gallio.Framework.Pattern.ITestModelBuilder,Gallio.Framework.Pattern.PatternTest)">
      <summary>
            Creates a test builder.
            </summary>
      <param name="testModelBuilder">The test model builder.</param>
      <param name="test">The underlying test.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModelBuilder" />
            or <paramref name="test" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.AddDependency(Gallio.Model.Tree.Test)">
      <summary>
            Adds a test dependency.
            </summary>
      <param name="testDependency">The test to add as a dependency.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testDependency" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.ApartmentState">
      <summary>
            Gets or sets the apartment state to be used to run the test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.CreateChild(System.String,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestDataContextBuilder)">
      <summary>
            Creates a child test and returns its builder.
            </summary>
      <param name="name">The test name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="dataContextBuilder">The data context builder for the new test.</param>
      <returns>The builder for the child test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or <paramref name="dataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.CreateParameter(System.String,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestDataContextBuilder)">
      <summary>
            Creates a test parameter and returns its builder.
            </summary>
      <param name="name">The test parameter name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="dataContextBuilder">The data context builder for the new test parameter.</param>
      <returns>The builder for the test parameter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or <paramref name="dataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.GetParameter(System.String)">
      <summary>
            Gets a test parameter builder by name.
            </summary>
      <param name="name">The test parameter name.</param>
      <returns>The builder for the test parameter, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.GetTestComponent">
      <summary>
            Gets the underlying test component.
            </summary>
      <returns>The test component.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.IsParallelizable">
      <summary>
            Gets or sets whether the test is parallelizable.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.IsTestCase">
      <summary>
            Gets whether this test represents an individual test case
            as opposed to a test container such as a fixture or suite.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.Kind">
      <summary>
            Gets or sets the value of the <see cref="F:Gallio.Model.MetadataKeys.TestKind" />
            metadata entry.  (This is a convenience method.)
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.LocalId">
      <summary>
            Gets a locally unique identifier for this test that satisfies some specific conditions.
            </summary>
      <returns>The locally unique identifier.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.LocalIdHint">
      <summary>
            Gets or sets a suggested <see cref="P:Gallio.Framework.Pattern.ITestBuilder.LocalId" /> hint, or null if none.
            </summary>
      <returns>The local id hint.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.Order">
      <summary>
            Gets or sets a number that defines an ordering for the test with respect to its siblings.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.TestActions">
      <summary>
            Gets the set of actions that describe the behavior of the test.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.TestInstanceActions">
      <summary>
            Gets the set of actions that describe the behavior of the test's instances.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestBuilder.Timeout">
      <summary>
            Gets or sets the maximum amount of time the whole test including
            its setup, teardown and body should be permitted to run.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" />
            represents a negative time span.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestBuilder.ToTest">
      <summary>
            Gets the underlying test.
            </summary>
      <returns>The underlying test.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.DefaultTestDataContextBuilder">
      <summary>
            Default implementation of a test data context builder.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestDataContextBuilder.#ctor(Gallio.Framework.Pattern.ITestModelBuilder,Gallio.Framework.Pattern.PatternTestDataContext)">
      <summary>
            Creates a test data context builder.
            </summary>
      <param name="testModelBuilder">The associated test model builder.</param>
      <param name="testDataContext">The underlying test data context.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModelBuilder" />
            or <paramref name="testDataContext" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestDataContextBuilder.CreateChild">
      <summary>
            Creates a child data context.
            </summary>
      <returns>The builder for the child context.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestDataContextBuilder.DefineDataSource(System.String)">
      <summary>
            Defines a new data source within this data context if one does not exist.
            Otherwise returns the existing one.
            </summary>
      <param name="name">The data source name, or an empty string if it is anonymous.</param>
      <returns>The defined data source.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestDataContextBuilder.GetTestModelBuilder">
      <summary>
            Gets the test model builder.
            </summary>
      <returns>The test model builder.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestDataContextBuilder.ImplicitDataBindingIndexOffset">
      <summary>
            Gets or sets the offset to add to a test parameter's implicit data binding index to map it
            into the containing data context.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestDataContextBuilder.ToPatternTestDataContext">
      <summary>
            Gets the underlying pattern test data context.
            </summary>
      <returns>The underlying pattern test data context.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.DefaultTestModelBuilder">
      <summary>
            Default implementation of a test model builder.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestModelBuilder.#ctor(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Framework.Pattern.PatternTestModel)">
      <summary>
            Creates a test model builder.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="testModel">The underlying test model.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />
            or <paramref name="testModel" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestModelBuilder.AddAnnotation(Gallio.Model.Tree.Annotation)">
      <summary>
            Adds an annotation to the test model.
            </summary>
      <param name="annotation">The annotation to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="annotation" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestModelBuilder.AddAssemblyResolver(Gallio.Runtime.Loader.IAssemblyResolver)">
      <summary>
            Adds an assembly resolver to the test model's assembly loading policy.
            </summary>
      <param name="resolver">The resolver to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="resolver" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestModelBuilder.GetTestModelBuilder">
      <summary>
            Gets the test model builder.
            </summary>
      <returns>The test model builder.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestModelBuilder.PublishExceptionAsAnnotation(Gallio.Common.Reflection.ICodeElementInfo,System.Exception)">
      <summary>
            Publishes an exception as an annotation about a particular code element.
            </summary>
      <param name="codeElement">The code element, or null if none.</param>
      <param name="ex">The exception to publish.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestModelBuilder.ReflectionPolicy">
      <summary>
            Gets the reflection policy for the model.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestModelBuilder.RootTestBuilder">
      <summary>
            Gets the builder of the root test.
            </summary>
      <returns>The builder for the root test.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestModelBuilder.ToTestModel">
      <summary>
            Gets the underlying test model.
            </summary>
      <returns>The underlying test model.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.DefaultTestParameterBuilder">
      <summary>
            Default implementation of a test parameter builder.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestParameterBuilder.#ctor(Gallio.Framework.Pattern.ITestModelBuilder,Gallio.Framework.Pattern.PatternTestParameter)">
      <summary>
            Creates a test parameter builder.
            </summary>
      <param name="testModelBuilder">The test model builder.</param>
      <param name="testParameter">The underlying test parameter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModelBuilder" />
            or <paramref name="testParameter" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestParameterBuilder.Binder">
      <summary>
            Gets or sets the data binder for the parameter.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestParameterBuilder.GetTestComponent">
      <summary>
            Gets the underlying test component.
            </summary>
      <returns>The test component.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestParameterBuilder.TestDataContextBuilder">
      <summary>
            Gets the test data context builder for the test parameter.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.DefaultTestParameterBuilder.TestParameterActions">
      <summary>
            Gets the set of actions that describe the behavior of the test parameter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.DefaultTestParameterBuilder.ToTestParameter">
      <summary>
            Gets the underlying test parameter.
            </summary>
      <returns>The underlying test parameter.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.DeferredComponentPopulator">
      <summary>
            Populates components lazily.
            </summary>
      <param name="codeElementHint">The code element hint to identify the location of the
            particular components to populate, or null to populate them all.</param>
    </member>
    <member name="T:Gallio.Framework.Pattern.FixtureMemberInvoker`1">
      <summary>
            Finds and invokes a member of a test fixture, a nested type of the test fixture,
            or an external type.
            </summary>
      <typeparam name="TOutput">The type of the result returned by the member invoked.</typeparam>
    </member>
    <member name="M:Gallio.Framework.Pattern.FixtureMemberInvoker`1.#ctor(System.Type,Gallio.Framework.Pattern.IPatternScope,System.String)">
      <summary>
            Constructs a invoker for a member of a test fixture, a nested type of the test fixture,
            or an external type.
            </summary>
      <param name="type">The owning type of the searched member, or null if it is assumed to be the fixture class.</param>
      <param name="scope">The scope of the test.</param>
      <param name="memberName">The name of the searched member.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="scope" /> or <paramref name="memberName" /> are null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.FixtureMemberInvoker`1.Invoke">
      <summary>
            Invokes the argument-less member and returns the resulting value.
            </summary>
      <returns>The resulting value.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.FixtureMemberInvoker`1.Invoke(Gallio.Framework.Pattern.FixtureMemberInvokerTargets,System.Object[])">
      <summary>
            Invokes the member with the specified arguments and returns the resulting value.
            </summary>
      <param name="targets">The arguments to pass to the member.</param>
      <param name="args">The arguments to pass to the member.</param>
      <returns>The resulting value.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.FixtureMemberInvoker`1.Invoke(System.Object[])">
      <summary>
            Invokes the member with the specified arguments and returns the resulting value.
            </summary>
      <param name="args">The arguments to pass to the member.</param>
      <returns>The resulting value.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.FixtureMemberInvokerTargets">
      <summary>
            Targeted member types for the fixture invoker.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Default">
      <summary>
            Default value combining <see cref="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Field" />, <see cref="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Property" />, and <see cref="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Method" />.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Field">
      <summary>
            Indicates to find the searched member among the fields.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Property">
      <summary>
            Indicates to find the searched member among the properties.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.FixtureMemberInvokerTargets.Method">
      <summary>
            Indicates to find the searched member among the methods.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.IPattern">
      <summary>
            A <see cref="T:Gallio.Framework.Pattern.IPattern" /> defines a composable rule for building up a test model
            using reflection.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPattern.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPattern.IsTest(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPattern.IsTestPart(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a test method
            or a test contribution like a setup or teardown method.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPattern.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.IPatternEvaluator">
      <summary>
            A pattern evaluator maintains state that is needed to interpret patterns.  
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Consumes the specified code element.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to consume.</param>
      <param name="skipChildren">If true, instructs the primary pattern to defer populating child tests.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="containingScope" />
            or <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.GetDeclaredTests(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Finds tests that are declared by the specified <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" />.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of tests.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.GetPatterns(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets all patterns associated with a code element.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of patterns, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.GetPrimaryPattern(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the primary pattern associated with a code element, or null if none.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The primary pattern, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if there are multiple primary patterns associated with the code element.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.GetScopes(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Finds scopes that are associated with the specified <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" />
            and returns an enumeration of their <see cref="T:Gallio.Framework.Pattern.IPatternScope" /> objects.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of scopes.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.HasPatterns(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if a code element has one or more associated patterns.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element has an associated pattern.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.IsTest(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="codeElement">The code element.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <returns>True if the code element represents a test.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.IsTestPart(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Returns true if the code element represents a part of a test.
            </summary>
      <param name="codeElement">The code element.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <returns>True if the code element represents a test.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes the specified code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternEvaluator.RegisterScope(Gallio.Framework.Pattern.IPatternScope)">
      <summary>
            Registers the scope so that it can be resolved later by <see cref="M:Gallio.Framework.Pattern.IPatternEvaluator.GetScopes(Gallio.Common.Reflection.ICodeElementInfo)" />.
            </summary>
      <param name="scope">The scope.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="scope" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternEvaluator.RootScope">
      <summary>
            Gets the scope of the root test.
            </summary>
      <returns>The root scope.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternEvaluator.TestModelBuilder">
      <summary>
            Gets the builder for the test model under construction.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.IPatternResolver">
      <summary>
            The pattern resolver provides a means for obtaining the <see cref="T:Gallio.Framework.Pattern.IPattern" />
            objects associated with an <see cref="T:Gallio.Common.Reflection.ICodeElementInfo" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternResolver.GetPatterns(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the patterns associated with the specified code element.
            </summary>
      <param name="codeElement">The code element.</param>
      <returns>The enumeration of patterns.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.IPatternScope">
      <summary>
            A pattern scope describes the environment in which the pattern is being evaluated.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)">
      <summary>
            Adds an action to the scope that enables a pattern to lazily populate the test model
            with components generated in nested scopes.  This is used when
            <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> is called with the option to skip children.
            </summary>
      <param name="populator">A <see cref="T:Gallio.Framework.Pattern.DeferredComponentPopulator" /> supplied by the pattern to populate
            its components lazily.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="populator" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.CanAddChildTest">
      <summary>
            Returns true if a child test can be added to the test within scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.CanAddTestParameter">
      <summary>
            Returns true if a test parameter can be added to the test within scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.CodeElement">
      <summary>
            Gets the code element associated with the scope, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.Consume(Gallio.Common.Reflection.ICodeElementInfo,System.Boolean,Gallio.Framework.Pattern.IPattern)">
      <summary>
            Consumes the specified code element using this scope as the containing scope.
            </summary>
      <param name="codeElement">The code element to consume.</param>
      <param name="skipChildren">If true, instructs the primary pattern to defer populating child tests.</param>
      <param name="defaultPrimaryPattern">The default primary pattern to use, if none can be resolved
            for the code element.  May be null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.CreateChildTestDataContextScope(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a child test data context derived from the builders of this scope.
            Returns the scope of the newly created child test data context.
            </summary>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The scope of the newly created child test data context.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.CreateChildTestScope(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a child test with its own child data context derived from the
            builders of this scope.  Returns the scope of the newly created child test.
            </summary>
      <param name="name">The test name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The scope of the newly created child test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if <see cref="P:Gallio.Framework.Pattern.IPatternScope.CanAddChildTest" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.CreateScope(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestBuilder,Gallio.Framework.Pattern.ITestParameterBuilder,Gallio.Framework.Pattern.ITestDataContextBuilder,System.Boolean)">
      <summary>
            Creates and registers a scope for a test component.
            </summary>
      <param name="codeElement">The code element to associate with the scope.</param>
      <param name="testBuilder">The test builder.</param>
      <param name="testParameterBuilder">The test parameter builder, or null if the scope
            is to be associated to the test only.</param>
      <param name="testDataContextBuilder">The test data context builder.</param>
      <param name="isDeclaration">If true, the scope represents the point of declaration
            of the test component with which it is associated.</param>
      <returns>The new scope.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" />,
            <paramref name="testBuilder" />, <paramref name="testParameterBuilder" />
            or <paramref name="testDataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.CreateTestParameterScope(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Creates a test parameter for the test in scope with its own
            child data context derived from the builders of this scope.  Returns
            the scope of the newly created test parameter.
            </summary>
      <param name="name">The test parameter name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <returns>The scope of the newly created test parameter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if <see cref="P:Gallio.Framework.Pattern.IPatternScope.CanAddTestParameter" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.Evaluator">
      <summary>
            Gets the pattern evaluator.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.IsTestDeclaration">
      <summary>
            Returns true if the scope represents a test declaration.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.IsTestParameterDeclaration">
      <summary>
            Returns true if the scope represents a test parameter declaration.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.PopulateDeferredComponents(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Asks all registered deferred component populators to build components whose
            construction had previously been deferred.
            </summary>
      <param name="codeElementHint">The code element hint to identify the location of the
            particular components to populate, or null to populate them all.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternScope.Process(Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes the specified code element using this scope as the current scope.
            </summary>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.TestBuilder">
      <summary>
            Gets a builder for applying contributions to the test currently being
            constructed within this scope.  Never null.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.TestComponentBuilder">
      <summary>
            Gets a builder for applying contributions to the test component currently being
            constructed within this scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.TestDataContextBuilder">
      <summary>
            Gets a builder for applying contributions to the current test data context within the scope.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.TestModelBuilder">
      <summary>
            Gets a builder for applying contributions to the test model.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternScope.TestParameterBuilder">
      <summary>
            Gets a builder for applying contributions to the test parameter currently being
            constructed within this scope, if there is one, or null if there is no
            test parameter in scope.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.IPatternTestComponent">
      <summary>
            An interface shared by <see cref="T:Gallio.Framework.Pattern.PatternTest" /> and <see cref="T:Gallio.Framework.Pattern.PatternTestParameter" />.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.IPatternTestComponent.DataContext">
      <summary>
            Gets the data context of the component.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternTestComponent.SetName(System.String)">
      <summary>
            Sets the name of the component.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.IPatternTestParameterHandler">
      <summary>
            A pattern test parameter handler provides the logic that implements the various
            phases of the test parameter binding lifecycle.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternTestParameterHandler.BindTestParameter(Gallio.Framework.Pattern.PatternTestInstanceState,System.Object)">
      <summary>
            Binds a value to a test parameter.
            </summary>
      <param name="testInstanceState">The test instance state, never null.</param>
      <param name="value">The value to bind to the parameter.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.IPatternTestParameterHandler.UnbindTestParameter(Gallio.Framework.Pattern.PatternTestInstanceState,System.Object)">
      <summary>
            Unbinds a test parameter.
            </summary>
      <param name="testInstanceState">The test instance state, never null.</param>
      <param name="value">The value that was bound to the test parameter.</param>
    </member>
    <member name="T:Gallio.Framework.Pattern.ISupportDeferredActions">
      <summary>
            Provides support for performing deferred build actions.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ISupportDeferredActions.AddDeferredAction(Gallio.Common.Reflection.ICodeElementInfo,System.Int32,Gallio.Common.Action)">
      <summary>
            Registers a deferred action to be performed when <see cref="M:Gallio.Framework.Pattern.ISupportDeferredActions.ApplyDeferredActions" /> is called.
            </summary>
      <param name="codeElement">The associated code element, used to report errors if the deferred action throws an exception.</param>
      <param name="order">The order in which the action should be applied, from least order to greatest.</param>
      <param name="deferredAction">The action to perform.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement" />
            or <paramref name="deferredAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ISupportDeferredActions.ApplyDeferredActions">
      <summary>
            Applies all pending deferred in order and clears the list.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.ITestBuilder">
      <summary>
            A test builder applies contributions to a test under construction.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestBuilder.AddDependency(Gallio.Model.Tree.Test)">
      <summary>
            Adds a test dependency.
            </summary>
      <param name="testDependency">The test to add as a dependency.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testDependency" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.ApartmentState">
      <summary>
            Gets or sets the apartment state to be used to run the test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestBuilder.CreateChild(System.String,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestDataContextBuilder)">
      <summary>
            Creates a child test and returns its builder.
            </summary>
      <param name="name">The test name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="dataContextBuilder">The data context builder for the new test.</param>
      <returns>The builder for the child test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or <paramref name="dataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestBuilder.CreateParameter(System.String,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.ITestDataContextBuilder)">
      <summary>
            Creates a test parameter and returns its builder.
            </summary>
      <param name="name">The test parameter name.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="dataContextBuilder">The data context builder for the new test parameter.</param>
      <returns>The builder for the test parameter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or <paramref name="dataContextBuilder" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestBuilder.GetParameter(System.String)">
      <summary>
            Gets a test parameter builder by name.
            </summary>
      <param name="name">The test parameter name.</param>
      <returns>The builder for the test parameter, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.IsParallelizable">
      <summary>
            Gets or sets whether the test is parallelizable.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.IsTestCase">
      <summary>
            Gets whether this test represents an individual test case
            as opposed to a test container such as a fixture or suite.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.Kind">
      <summary>
            Gets or sets the value of the <see cref="F:Gallio.Model.MetadataKeys.TestKind" />
            metadata entry.  (This is a convenience method.)
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.LocalId">
      <summary>
            Gets a locally unique identifier for this test that satisfies some specific conditions.
            </summary>
      <returns>The locally unique identifier.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.LocalIdHint">
      <summary>
            Gets or sets a suggested <see cref="P:Gallio.Framework.Pattern.ITestBuilder.LocalId" /> hint, or null if none.
            </summary>
      <returns>The local id hint.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.Order">
      <summary>
            Gets or sets a number that defines an ordering for the test with respect to its siblings.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.TestActions">
      <summary>
            Gets the set of actions that describe the behavior of the test.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.TestInstanceActions">
      <summary>
            Gets the set of actions that describe the behavior of the test's instances.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestBuilder.Timeout">
      <summary>
            Gets or sets the maximum amount of time the whole test including
            its setup, teardown and body should be permitted to run.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" />
            represents a negative time span.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestBuilder.ToTest">
      <summary>
            Gets the underlying test.
            </summary>
      <returns>The underlying test.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.ITestComponentBuilder">
      <summary>
            A test component builder applies contributions to a test or test parameter under construction.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestComponentBuilder.AddMetadata(System.String,System.String)">
      <summary>
            Adds a metadata key value pair.
            </summary>
      <param name="key">The metadata key.</param>
      <param name="value">The value to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestComponentBuilder.CodeElement">
      <summary>
            Gets a reference to the point of definition of this test
            component in the code, or null if unknown.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestComponentBuilder.Id">
      <summary>
            Gets the stable unique identifier of the component.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestComponentBuilder.Name">
      <summary>
            Gets or sets the name of the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestComponentBuilder.ToTestComponent">
      <summary>
            Gets the underlying test component.
            </summary>
      <returns>The underlying test component.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.ITestDataContextBuilder">
      <summary>
            A test data context builder applies contributions to a test data context under construction.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestDataContextBuilder.CreateChild">
      <summary>
            Creates a child data context.
            </summary>
      <returns>The builder for the child context.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestDataContextBuilder.DefineDataSource(System.String)">
      <summary>
            Defines a new data source within this data context if one does not exist.
            Otherwise returns the existing one.
            </summary>
      <param name="name">The data source name, or an empty string if it is anonymous.</param>
      <returns>The defined data source.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestDataContextBuilder.ImplicitDataBindingIndexOffset">
      <summary>
            Gets or sets the offset to add to a test parameter's implicit data binding index to map it
            into the containing data context.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestDataContextBuilder.ToPatternTestDataContext">
      <summary>
            Gets the underlying pattern test data context.
            </summary>
      <returns>The underlying pattern test data context.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.ITestModelBuilder">
      <summary>
            A test model builder applies contributions to a test model under construction.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestModelBuilder.AddAnnotation(Gallio.Model.Tree.Annotation)">
      <summary>
            Adds an annotation to the test model.
            </summary>
      <param name="annotation">The annotation to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="annotation" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestModelBuilder.AddAssemblyResolver(Gallio.Runtime.Loader.IAssemblyResolver)">
      <summary>
            Adds an assembly resolver to the test model's assembly loading policy.
            </summary>
      <param name="resolver">The resolver to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="resolver" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestModelBuilder.PublishExceptionAsAnnotation(Gallio.Common.Reflection.ICodeElementInfo,System.Exception)">
      <summary>
            Publishes an exception as an annotation about a particular code element.
            </summary>
      <param name="codeElement">The code element, or null if none.</param>
      <param name="ex">The exception to publish.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestModelBuilder.ReflectionPolicy">
      <summary>
            Gets the reflection policy for the model.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestModelBuilder.RootTestBuilder">
      <summary>
            Gets the builder of the root test.
            </summary>
      <returns>The builder for the root test.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestModelBuilder.ToTestModel">
      <summary>
            Gets the underlying test model.
            </summary>
      <returns>The underlying test model.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.ITestParameterBuilder">
      <summary>
            A test builder applies contributions to a test under construction.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestParameterBuilder.Binder">
      <summary>
            Gets or sets the data binder for the parameter.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestParameterBuilder.TestDataContextBuilder">
      <summary>
            Gets the test data context builder for the test parameter.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ITestParameterBuilder.TestParameterActions">
      <summary>
            Gets the set of actions that describe the behavior of the test parameter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ITestParameterBuilder.ToTestParameter">
      <summary>
            Gets the underlying test parameter.
            </summary>
      <returns>The underlying test parameter.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.MetadataPatternAttribute">
      <summary>
            Applies declarative metadata to a test component.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.MetadataPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.MetadataPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.MetadataPatternAttribute.GetMetadata">
      <summary>
            Gets the metadata key / value pairs to be added to the test component.
            </summary>
      <returns>The metadata entries.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.MetadataPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.MetadataPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternAttribute">
      <summary>
            The <see cref="T:Gallio.Framework.Pattern.PatternAttribute" /> class is the base class for all pattern test framework
            attributes.  It associates a code element with a <see cref="T:Gallio.Framework.Pattern.IPattern" /> for building
            up parts of the test model using reflection.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.PatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.IsTest(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.IsTestPart(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a test method
            or a test contribution like a setup or teardown method.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.ThrowUsageErrorException(System.String)">
      <summary>
            Throws a <see cref="T:Gallio.Framework.Pattern.PatternUsageErrorException" /> with the specified message
            including a short heading that identifies the attribute type.
            </summary>
      <param name="message">The message, not null.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Always thrown.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternAttribute.ThrowUsageErrorException(System.String,System.Exception)">
      <summary>
            Throws a <see cref="T:Gallio.Framework.Pattern.PatternUsageErrorException" /> with the specified message
            including a short heading that identifies the attribute type.
            </summary>
      <param name="message">The message, not null.</param>
      <param name="ex">The associated exception, or null if none.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Always thrown.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternAttributeTargets">
      <summary>
            Standard <see cref="T:System.AttributeTargets" /> flag combinations for <see cref="T:Gallio.Framework.Pattern.PatternAttribute" /> declarations.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.ContributionMethod">
      <summary>
            Valid attribute targets for contribution methods.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.DataContext">
      <summary>
            Valid attribute targets for data contexts.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.Test">
      <summary>
            Valid attribute targets for tests.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestAssembly">
      <summary>
            Valid attribute targets for test assemblies.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestComponent">
      <summary>
            Valid attribute targets for tests or test parameters.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestConstructor">
      <summary>
            Valid attribute targets for test constructors.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestContract">
      <summary>
            Valid attribute targets for test contracts.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestMethod">
      <summary>
            Valid attribute targets for test methods.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestParameter">
      <summary>
            Valid attribute targets for test parameters.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.PatternAttributeTargets.TestType">
      <summary>
            Valid attribute targets for test types.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTest">
      <summary>
            A test case that has been defined by the <see cref="T:Gallio.Framework.Pattern.PatternTestFramework" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTest.#ctor(System.String,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.PatternTestDataContext)">
      <summary>
            Initializes a test initially without a parent.
            </summary>
      <param name="name">The name of the test.</param>
      <param name="codeElement">The point of definition of the test, or null if unknown.</param>
      <param name="dataContext">The data context.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> or <paramref name="dataContext" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTest.ApartmentState">
      <summary>
            Gets or sets the apartment state to be used to run the test.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTest.DataContext">
      <summary>
            Gets the data context of the component.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTest.IsParallelizable">
      <summary>
            Gets or sets whether the test is parallelizable.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTest.SetName(System.String)">
      <summary>
            Sets the name of the component.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTest.TestActions">
      <summary>
            Gets the set of actions that describe the behavior of the test.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTest.TestInstanceActions">
      <summary>
            Gets the set of actions that describe the behavior of the test's instances.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTest.Timeout">
      <summary>
            Gets or sets the maximum amount of time the whole test including
            its setup, teardown and body should be permitted to run.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" />
            represents a negative time span.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestActions">
      <summary>
            Pattern test action provide the logic that implements the various
            phases of the test execution lifecycle.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestActions.#ctor">
      <summary>
            Creates a test actions object initially configured with empty action chains
            that do nothing.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestActions.AfterTestChain">
      <summary>
            Cleans up a completed test state after its use.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestActions.BeforeTestChain">
      <summary>
            Prepares a newly created test state before its use.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestActions.Copy">
      <summary>
            Creates a copy of the test actions.
            </summary>
      <returns>The new copy.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestActions.DecorateTestInstanceChain">
      <summary>
            Decorates the <see cref="T:Gallio.Framework.Pattern.PatternTestInstanceActions" /> of a test instance before its
            <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceActions.BeforeTestInstanceChain" /> actions have a chance to run.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestActions.DisposeTestChain">
      <summary>
            Cleans up a test following the execution of its instances.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestActions.InitializeTestChain">
      <summary>
            Initializes a test prior to the execution of its instances.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestActions.TestInstanceActions">
      <summary>
            Gets the test instance actions that describes the lifecycle of a test instance.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestController">
      <summary>
            Controls the execution of <see cref="T:Gallio.Framework.Pattern.PatternTest" /> instances.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestController.#ctor(Gallio.Runtime.Formatting.IFormatter,Gallio.Runtime.Conversions.IConverter,Gallio.Model.Environments.ITestEnvironmentManager)">
      <summary>
            Creates a pattern test controller.
            </summary>
      <param name="formatter">The formatter for data binding.</param>
      <param name="converter">The converter for data binding.</param>
      <param name="environmentManager">The test environment manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter" />,
            <paramref name="converter" /> or <paramref name="environmentManager" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestController.RunImpl(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Implementation of <see cref="M:Gallio.Model.Helpers.TestController.Run(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" /> called after argument validation has taken place.
            </summary>
      <param name="rootTestCommand">The root test command, not null.</param>
      <param name="parentTestStep">The parent test step, or null if none.</param>
      <param name="options">The test execution options, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The combined result of the root test command.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestDataContext">
      <summary>
            A pattern test data context introduces a scope for data source declarations.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestDataContext.#ctor(Gallio.Framework.Pattern.PatternTestDataContext)">
      <summary>
            Creates a new data context.
            </summary>
      <param name="parent">The containing data context, or null if none.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestDataContext.CreateChild">
      <summary>
            Creates a child data context.
            </summary>
      <returns>A handle for the child context.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestDataContext.DefineDataSource(System.String)">
      <summary>
            Defines a new data source within this data context if one does not exist.
            Otherwise returns the existing one.
            </summary>
      <param name="name">The data source name.</param>
      <returns>The defined data source.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestDataContext.ImplicitDataBindingIndexOffset">
      <summary>
            Gets or sets the offset to add to a test parameter's implicit data binding index to map it
            into the containing data context.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestDataContext.Parent">
      <summary>
            Gets the containing data context, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestDataContext.ResolveDataSource(System.String)">
      <summary>
            Resolves the data source with the specified name.
            </summary>
      <param name="name">The data source name.</param>
      <returns>The resolved data source, or null if none found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestDataContext.ResolveImplicitDataBindingIndex">
      <summary>
            Returns the index that should be used to implicitly bind to the nearest
            anonymous data source that can be found.  
            </summary>
      <returns>The implicit data binding index, or null if no anonymous data sources were found.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestFramework">
      <summary>
            The pattern test framework is a built-in framework that Gallio provides based on
            reflection over attributes that implement <see cref="T:Gallio.Framework.Pattern.IPattern" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestFramework.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.PatternTestFramework" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestFramework.GetExtensions(Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Gets information about a particular pattern test framework extension.
            </summary>
      <param name="assembly">The test assembly.</param>
      <returns>The pattern test framework extension information.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestFramework.GetTestDriverFactory">
      <summary>
            Gets the test driver factory for the framework.
            </summary>
      <returns>The test driver factory.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestFrameworkExtensionInfo">
      <summary>
            Provides information about a particular pattern test framework extension.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestFrameworkExtensionInfo.#ctor(System.String,System.String)">
      <summary>
            Creates an information object.
            </summary>
      <param name="id">The unique id of the extension.</param>
      <param name="name">The display name of the extension.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> or <paramref name="name" />
            is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestFrameworkExtensionInfo.AssemblyKind">
      <summary>
            Gets or sets the extension's test kind which is used to decorate the test
            assembly test when a test assembly only contains tests that belong to one
            particular framework.  May be null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestFrameworkExtensionInfo.Id">
      <summary>
            Gets the unique id of the extension.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestFrameworkExtensionInfo.Name">
      <summary>
            Gets the display name of the extension.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestInstanceActions">
      <summary>
            Pattern test instance actions provide the logic that implements the various
            phases of the test instance execution lifecycle.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceActions.#ctor">
      <summary>
            Creates a test instance actions object initially configured with empty action chains
            that do nothing.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.AfterTestInstanceChain">
      <summary>
            Cleans up a completed test instance after its use.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.BeforeTestInstanceChain">
      <summary>
            Prepares a newly created test instance state before its use.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceActions.Copy">
      <summary>
            Creates a copy of the test instance actions.
            </summary>
      <returns>The new copy.</returns>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.DecorateChildTestChain">
      <summary>
            Decorates the <see cref="T:Gallio.Framework.Pattern.PatternTestActions" /> of a child test before its
            <see cref="P:Gallio.Framework.Pattern.PatternTestActions.BeforeTestChain" /> actions have a chance to run.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.DisposeTestInstanceChain">
      <summary>
            Disposes a test instance that is about to terminate.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.ExecuteTestInstanceChain">
      <summary>
            Executes the test instance.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.InitializeTestInstanceChain">
      <summary>
            Initializes a test instance that has just started running.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.RunTestInstanceBodyChain">
      <summary>
            Runs the body of the test from the Initialize phase through the Dispose phase.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.SetUpTestInstanceChain">
      <summary>
            Sets up a test instance prior to execution.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceActions.TearDownTestInstanceChain">
      <summary>
            Tears down a test instance following execution.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestInstanceState">
      <summary>
            Represents the run-time state of a single instance of a <see cref="T:Gallio.Framework.Pattern.PatternTest" />
            that is to be executed.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceState.AddNameSuffix(System.String)">
      <summary>
            Adds a suffix to the name base.
            </summary>
      <param name="suffix">The suffix to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="suffix" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.BindingItem">
      <summary>
            Gets the data item obtained from the test's <see cref="T:Gallio.Framework.Data.DataBindingContext" />
            to create this state.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.Converter">
      <summary>
            Gets the converter for data binding.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.Data">
      <summary>
            Gets the user data collection associated with the test instance state.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureInstance">
      <summary>
            Gets or sets the test fixture instance or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureType">
      <summary>
            Gets or sets the test fixture type or null if none.
            </summary>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="value" />
            contains unbound generic parameters, is a generic parameter, has an element type.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.Formatter">
      <summary>
            Gets the formatter for data binding.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceState.FromContext(Gallio.Framework.TestContext)">
      <summary>
            Gets the pattern test instance state from the specified context.
            </summary>
      <param name="context">The context.</param>
      <returns>The pattern test instance state, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="context" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceState.GetFixtureObjectCreationSpec(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Gets a fixture object creation specification using the state's bound <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.SlotValues" />.
            </summary>
      <param name="type">The fixture type or generic type definition.</param>
      <returns>The fixture instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the slots or values in <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.SlotValues" />
            are not appropriate for instantiating <paramref name="type" />.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceState.GetTestMethodInvocationSpec(Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Gets a test method invocation specification using the state's bound <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.SlotValues" />.
            </summary>
      <param name="method">The test method or generic method definition,
            possibly declared by a generic type or generic type defintion.</param>
      <returns>The method return value.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="method" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the slots or values in <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.SlotValues" />
            or <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureType" /> are not appropriate for invoking <paramref name="method" /></exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceState.InvokeFixtureMethod(Gallio.Common.Reflection.IMethodInfo,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{Gallio.Common.Reflection.ISlotInfo,System.Object}})">
      <summary>
            Invokes a fixture method using the specified <paramref name="slotValues" />.
            </summary>
      <param name="method">The fixture method or generic method definition,
            possibly declared by a generic type or generic type defintion.</param>
      <param name="slotValues">The slot values to use for invoking the method.</param>
      <returns>The method return value.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="method" /> or <paramref name="slotValues" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the slots or values in <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.SlotValues" />
            or <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureType" /> or <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureInstance" /> are not appropriate for
            invoking <paramref name="method" /></exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureType" /> is null.</exception>
      <exception cref="T:System.Exception">Any exception thrown by the invoked method.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestInstanceState.InvokeTestMethod">
      <summary>
            Invokes the test method specified by <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestMethod" />, <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.FixtureInstance" />
            and <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestArguments" />.  
            </summary>
      <returns>The method return value, or null if there was none.</returns>
      <exception cref="T:System.Exception">Any exception thrown by the invoked method.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.IsReusingPrimaryTestStep">
      <summary>
            Returns true if the <see cref="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestStep" /> is the <see cref="P:Gallio.Framework.Pattern.PatternTestState.PrimaryTestStep" />
            that was created for the test.  
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.NameBase">
      <summary>
            Gets or sets the basic name of the test instance which usually consists of the method or
            class name and a description of its bound argument values.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.SlotValues">
      <summary>
            Gets a mutable dictionary of slots and their bound values.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.Test">
      <summary>
            Gets the test associated with this test instance state.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestArguments">
      <summary>
            Gets or sets the test method arguments or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestInstanceActions">
      <summary>
            Gets the test instance actions.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestMethod">
      <summary>
            Gets or sets the test method or null if none.
            </summary>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="value" />
            is contains unbound generic parameters.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestParameterValues">
      <summary>
            Gets a mutable dictionary of values assigned to test parameters.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestState">
      <summary>
            Gets the test state associated with this test instance state.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestInstanceState.TestStep">
      <summary>
            Gets the test step used to execute the test instance.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestModel">
      <summary>
            The test model for the pattern test framework.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestModel.#ctor">
      <summary>
            Creates a pattern test model.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestModel.RootTest">
      <summary>
            Gets or sets the root test.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestParameter">
      <summary>
            Represents an parameter of a <see cref="T:Gallio.Framework.Pattern.PatternTest" /> derived from a field, property
            or method parameter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestParameter.#ctor(System.String,Gallio.Common.Reflection.ICodeElementInfo,Gallio.Framework.Pattern.PatternTestDataContext)">
      <summary>
            Creates a test pattern parameter.
            </summary>
      <param name="name">The name of the test parameter.</param>
      <param name="codeElement">The code element (usually a slot) represented by the parameter, or null if none.</param>
      <param name="dataContext">The data context of the test parameter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="dataContext" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestParameter.Binder">
      <summary>
            Gets or sets the <see cref="T:Gallio.Framework.Data.IDataBinder" /> for this test parameter.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestParameter.DataContext">
      <summary>
            Gets the data context of the component.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestParameter.Owner">
      <summary>
            Gets the test that owns this parameter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestParameter.SetName(System.String)">
      <summary>
            Sets the name of the component.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestParameter.TestParameterActions">
      <summary>
            Gets the set of actions that describe the behavior of the test parameter.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestParameterActions">
      <summary>
        <para>
            An implementation of <see cref="T:Gallio.Framework.Pattern.IPatternTestParameterHandler" /> based on
            actions that can be sequenced and composed as chains.
            </para>
      </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestParameterActions.#ctor">
      <summary>
            Creates a test parameter actions object initially configured with empty action chains
            that do nothing.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestParameterActions.BindTestParameter(Gallio.Framework.Pattern.PatternTestInstanceState,System.Object)">
      <summary>
            Binds a value to a test parameter.
            </summary>
      <param name="testInstanceState">The test instance state, never null.</param>
      <param name="value">The value to bind to the parameter.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestParameterActions.BindTestParameterChain">
      <summary>
            Gets the chain of <see cref="M:Gallio.Framework.Pattern.IPatternTestParameterHandler.BindTestParameter(Gallio.Framework.Pattern.PatternTestInstanceState,System.Object)" /> actions.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestParameterActions.UnbindTestParameter(Gallio.Framework.Pattern.PatternTestInstanceState,System.Object)">
      <summary>
            Unbinds a test parameter.
            </summary>
      <param name="testInstanceState">The test instance state, never null.</param>
      <param name="value">The value that was bound to the test parameter.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestParameterActions.UnbindTestParameterChain">
      <summary>
            Gets the chain of <see cref="M:Gallio.Framework.Pattern.IPatternTestParameterHandler.UnbindTestParameter(Gallio.Framework.Pattern.PatternTestInstanceState,System.Object)" /> actions.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestPopulator">
      <summary>
            A delegate used to lazily populate the children of an <see cref="T:Gallio.Framework.Pattern.PatternTest" />.
            </summary>
      <param name="recurse">If true, the populator should recursively populate
            all of its newly populated test elements in addition to itself.</param>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestState">
      <summary>
            Represents the run-time state of a <see cref="T:Gallio.Framework.Pattern.PatternTest" /> that is to be executed.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.BindingContext">
      <summary>
            Gets the data binding context of the test.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.Converter">
      <summary>
            Gets the converter for data binding.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.Data">
      <summary>
            Gets the user data collection associated with the test state.  
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.Formatter">
      <summary>
            Gets the formatter for data binding.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestState.FromContext(Gallio.Framework.TestContext)">
      <summary>
            Gets the pattern test state from the specified context.
            </summary>
      <param name="context">The context.</param>
      <returns>The pattern test state, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="context" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.IsExplicit">
      <summary>
            Returns true if the test was selected explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.PrimaryTestStep">
      <summary>
            Gets the primary test step associated with this test state.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.Test">
      <summary>
            Gets the test associated with this test state.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.TestActions">
      <summary>
            Gets the test actions.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestState.TestParameterDataAccessors">
      <summary>
            Gets a mutable dictionary of data accessors that will provide
            values assigned to test parameters given a data binding item.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternTestStep">
      <summary>
            A step that belongs to a <see cref="T:Gallio.Framework.Pattern.PatternTest" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestStep.#ctor(Gallio.Framework.Pattern.PatternTest,Gallio.Model.Tree.TestStep)">
      <summary>
            Creates a primary step using the same name, code element and metadata
            as the test to which it belongs.
            </summary>
      <param name="test">The test to which the step belongs.</param>
      <param name="parent">The parent test step, or null if creating the root step.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternTestStep.#ctor(Gallio.Framework.Pattern.PatternTest,Gallio.Model.Tree.TestStep,System.String,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Creates a step.
            </summary>
      <param name="test">The test to which the step belongs.</param>
      <param name="parent">The parent step, or null if creating a root step.</param>
      <param name="name">The step name.</param>
      <param name="codeElement">The point of definition of the step, or null if unknown.</param>
      <param name="isPrimary">True if the test step is primary.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="test" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.PatternTestStep.Test">
      <summary>
            Gets the associated test.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.PatternUsageErrorException">
      <summary>
            The type of exception thrown when a test declaration is malformed or
            contains an error.  
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternUsageErrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternUsageErrorException.#ctor(System.String)">
      <summary>
            Creates a usage error exception.
            </summary>
      <param name="message">A message that describes how the pattern was misused and possibly what should be done to correct it.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.PatternUsageErrorException.#ctor(System.String,System.Exception)">
      <summary>
            Creates a usage error exception.
            </summary>
      <param name="message">A message that describes how the pattern was misused and possibly what should be done to correct it.</param>
      <param name="innerException">An optional exception that will be used to provide aditional details about the usage error.</param>
    </member>
    <member name="T:Gallio.Framework.Pattern.ProcessIsolation">
      <summary>
            The process isolation object saves global process-level context
            information when it is created and restores it when it is disposed.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ProcessIsolation.#ctor">
      <summary>
            Saves global process state to be subsequently restored when disposed.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ProcessIsolation.Dispose">
      <summary>
            Restores the saved process state.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.ReflectionOnlyTestModelBuilder">
      <summary>
            An implementation of a test model builder that is used for reflection only and
            does not actually support building tests.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.ReflectionOnlyTestModelBuilder.#ctor(Gallio.Common.Reflection.IReflectionPolicy)">
      <summary>
            Creates a test model builder.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" /> is null.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.ReflectionOnlyTestModelBuilder.ReflectionPolicy">
      <summary>
            Gets the reflection policy for the model.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.ReflectionOnlyTestModelBuilder.RootTestBuilder">
      <summary>
            Gets the builder of the root test.
            </summary>
      <returns>The builder for the root test.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestAction">
      <summary>
            Performs one primitive action of a test and returns its outcome.
            </summary>
      <returns>The outcome of the action.</returns>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestAssemblyDecoratorPatternAttribute">
      <summary>
            A test assembly decorator pattern attribute applies decorations to an
            existing test declared at the assembly-level.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyDecoratorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestAssemblyDecoratorPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyDecoratorPatternAttribute.DecorateAssemblyTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Applies decorations to an assembly-level test.
            </summary>
      <param name="assemblyScope">The assembly scope.</param>
      <param name="assembly">The assembly.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyDecoratorPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyDecoratorPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="assembly">The assembly.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestAssemblyExecutionParameters">
      <summary>
            Configures runtime parameters while executing tests within a test assembly.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestAssemblyExecutionParameters.DefaultTestCaseTimeout">
      <summary>
            Specifies the default test case timeout or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestAssemblyExecutionParameters.DegreeOfParallelism">
      <summary>
            Specifies the maximum number of concurrent threads to use when tests are run in parallel.
            </summary>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is less than 1.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyExecutionParameters.Reset">
      <summary>
            Resets the globals to default values.
            </summary>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestAssemblyInitializationAttribute">
      <summary>
            An assembly initialization attribute gets a chance to perform early initialization
            of the system before enumerating the tests within the assembly.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyInitializationAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestAssemblyInitializationAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyInitializationAttribute.Initialize(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Performs early initialization for the specified assembly.
            </summary>
      <param name="rootScope">The root scope that will eventually contain the assembly-level test.</param>
      <param name="assembly">The assembly to process.</param>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestAssemblyPatternAttribute">
      <summary>
            Declares that an assembly generates an assembly-level test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestAssemblyPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="F:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.DefaultInstance">
      <summary>
            Gets a default instance of the assembly pattern attribute to use
            when no other pattern consumes an assembly.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.DefaultTypePattern">
      <summary>
            Gets the default pattern to apply to types that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.InitializeAssemblyTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Initializes a test for an assembly after it has been added to the test model.
            </summary>
      <param name="assemblyScope">The assembly scope.</param>
      <param name="assembly">The assembly.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.IsTest(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.PopulateChildrenImmediately(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Populates the children of the assembly test all at once.
            </summary>
      <param name="assemblyScope">The assembly scope.</param>
      <param name="assembly">The assembly.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.PrepareToPopulateChildrenOnDemand(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Prepares to populate the children of the assembly test on demand by
            adding a deferred populator with <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.
            </summary>
      <param name="assemblyScope">The assembly scope.</param>
      <param name="assembly">The assembly.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.SetTestSemantics(Gallio.Framework.Pattern.ITestBuilder,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Applies semantic actions to the assembly-level test to estalish its runtime behavior.
            </summary>
      <param name="testBuilder">The test builder.</param>
      <param name="assembly">The assembly.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestAssemblyPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="assembly">The assembly.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestConstructorPatternAttribute">
      <summary>
            Declares that a constructor is used to provide test fixture parameters.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestConstructorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestConstructorPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestConstructorPatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestConstructorPatternAttribute.DefaultConstructorParameterPattern">
      <summary>
            Gets the default pattern to apply to constructor parameters that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.TestConstructorPatternAttribute.DefaultInstance">
      <summary>
            Gets a default instance of the constructor pattern attribute to use
            when no other pattern consumes a contructor.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestConstructorPatternAttribute.InitializeDataContext(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IConstructorInfo)">
      <summary>
            Initializes the <see cref="T:Gallio.Framework.Pattern.PatternTestDataContext" />.
            </summary>
      <param name="dataContextScope">The data context scope.</param>
      <param name="constructor">The constructor.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestConstructorPatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestConstructorPatternAttribute.IsTestPart(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a test method
            or a test contribution like a setup or teardown method.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestConstructorPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IConstructorInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="constructor">The constructor.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestDecoratorPatternAttribute">
      <summary>
            A test decorator pattern attribute applies decorations to a test defined by an
            assembly, type, or method.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDecoratorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestDecoratorPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDecoratorPatternAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Applies decorations to a test.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDecoratorPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDecoratorPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestDependencyPatternAttribute">
      <summary>
            A dependency pattern attribute creates a dependency on the tests defined
            by some other code element.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDependencyPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestDependencyPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDependencyPatternAttribute.GetDependency(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Gets the code element that declares the tests on which this test should depend.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element.</param>
      <returns>The code element representing the dependency.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDependencyPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestDependencyPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestMethodDecoratorPatternAttribute">
      <summary>
            A test decorator pattern attribute applies decorations to an
            existing test declared at the method-level.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodDecoratorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestMethodDecoratorPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodDecoratorPatternAttribute.DecorateMethodTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Applies decorations to a method-level test.
            </summary>
      <param name="methodScope">The method scope.</param>
      <param name="method">The method.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodDecoratorPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodDecoratorPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="method">The method.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestMethodPatternAttribute">
      <summary>
            Declares that a method represents a test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestMethodPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestMethodPatternAttribute.DefaultGenericParameterPattern">
      <summary>
            Gets the default pattern to apply to generic parameters that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestMethodPatternAttribute.DefaultMethodParameterPattern">
      <summary>
            Gets the default pattern to apply to method parameters that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.Execute(Gallio.Framework.Pattern.PatternTestInstanceState)">
      <summary>
            Executes the test method.
            </summary>
      <param name="state">The test instance state, not null.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.InitializeTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Initializes a test for a method after it has been added to the test model.
            </summary>
      <param name="methodScope">The method scope.</param>
      <param name="method">The method.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestMethodPatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.IsTest(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestMethodPatternAttribute.Order">
      <summary>
            Gets or sets a number that defines an ordering for the test with respect to its siblings.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.SetTestSemantics(Gallio.Framework.Pattern.ITestBuilder,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Applies semantic actions to a test to estalish its runtime behavior.
            </summary>
      <param name="testBuilder">The test builder.</param>
      <param name="method">The test method.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestMethodPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="method">The method.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestParameterDecoratorPatternAttribute">
      <summary>
            A test parameter decorator pattern attribute applies decorations to an
            existing <see cref="T:Gallio.Framework.Pattern.PatternTestParameter" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterDecoratorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestParameterDecoratorPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterDecoratorPatternAttribute.DecorateTestParameter(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ISlotInfo)">
      <summary>
            Applies decorations to a <see cref="T:Gallio.Framework.Pattern.PatternTestParameter" />.
            </summary>
      <param name="slotScope">The slot scope.</param>
      <param name="slot">The slot.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterDecoratorPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterDecoratorPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ISlotInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="slot">The slot.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestParameterPatternAttribute">
      <summary>
            Declares that a field, property, method parameter or generic parameter
            represents a <see cref="T:Gallio.Framework.Pattern.PatternTestParameter" />.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestParameterPatternAttribute" /> class</summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.TestParameterPatternAttribute.AutomaticInstance">
      <summary>
            Gets an instance of the parameter pattern attribute to use when no
            other pattern consumes the parameter but when the parameter appears to have
            other contributing pattern attributes associated with it. 
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterPatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="F:Gallio.Framework.Pattern.TestParameterPatternAttribute.DefaultInstance">
      <summary>
            Gets a default instance of the parameter pattern attribute to use
            when no other pattern consumes the parameter.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterPatternAttribute.InitializeTestParameter(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ISlotInfo)">
      <summary>
            Initializes a test parameter after it has been added to the containing test.
            </summary>
      <param name="testParameterScope">The test parameter scope.</param>
      <param name="slot">The slot.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestParameterPatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterPatternAttribute.IsTestPart(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a test method
            or a test contribution like a setup or teardown method.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestParameterPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ISlotInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="slot">The slot.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestTypeDecoratorPatternAttribute">
      <summary>
            A test type decorator pattern attribute applies decorations to an
            existing test declared at the type-level.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypeDecoratorPatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestTypeDecoratorPatternAttribute" /> class</summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypeDecoratorPatternAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Applies decorations to a type-level test.
            </summary>
      <param name="typeScope">The type scope.</param>
      <param name="type">The type.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypeDecoratorPatternAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Processes a code element and applies its contributions to the scope of this pattern.
            The scope will typically have been introduced by the <see cref="M:Gallio.Framework.Pattern.IPattern.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)" /> method
            of a primary pattern applied to this code element.
            </summary>
      <param name="scope">The scope.</param>
      <param name="codeElement">The code element to process.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypeDecoratorPatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="scope">The scope.</param>
      <param name="type">The type.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Pattern.TestTypePatternAttribute">
      <summary>
            Declares that a type represents a test.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Framework.Pattern.TestTypePatternAttribute" /> class</summary>
    </member>
    <member name="F:Gallio.Framework.Pattern.TestTypePatternAttribute.AutomaticInstance">
      <summary>
            Gets an instance of the test type pattern attribute to use when no
            other pattern consumes the type. 
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Consumes a code element and applies its contributions to the scope
            provided by a containing pattern.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="codeElement">The code element to process.</param>
      <param name="skipChildren">If true, skips generating child test components.
            Instead the children may be populated on demand using
            <see cref="M:Gallio.Framework.Pattern.IPatternScope.AddDeferredComponentPopulator(Gallio.Framework.Pattern.DeferredComponentPopulator)" />.  The implementation
            may safely ignore the value of this flag so long as subsequent attempts to populate children on
            demand are idempotent (do nothing or have no adverse side-effects).</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.ConsumeConstructors(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Consumes type constructors.
            </summary>
      <param name="typeScope">The scope to be used as the containing scope.</param>
      <param name="type">The type whose constructors are to be consumed.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.ConsumeMembers(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Consumes type members including fields, properties, methods and events.
            </summary>
      <param name="typeScope">The scope to be used as the containing scope.</param>
      <param name="type">The type whose members are to be consumed.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.ConsumeNestedTypes(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Consumes nested types.
            </summary>
      <param name="typeScope">The scope to be used as the containing scope.</param>
      <param name="type">The type whose nested types are to be consumed.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultConstructorPattern">
      <summary>
            Gets the default pattern to apply to constructors that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultEventPattern">
      <summary>
            Gets the default pattern to apply to events that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultFieldPattern">
      <summary>
            Gets the default pattern to apply to fields that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultGenericParameterPattern">
      <summary>
            Gets the default pattern to apply to generic parameters that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultMethodPattern">
      <summary>
            Gets the default pattern to apply to methods that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultNestedTypePattern">
      <summary>
            Gets the default pattern to apply to nested types that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.DefaultPropertyPattern">
      <summary>
            Gets the default pattern to apply to properties that do not have a primary pattern, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.GetMemberBindingFlags(Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Gets the binding flags that should be used to enumerate non-nested type members
            of the type for determining their contribution to the test fixture.  
            </summary>
      <param name="type">The type.</param>
      <returns>The binding flags for enumerating members.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.InferTestType(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Infers whether the type is a test type based on its structure.
            </summary>
      <param name="evaluator">The pattern evaluator.</param>
      <param name="type">The type.</param>
      <returns>True if the type is likely a test type.</returns>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.InitializeTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Initializes a test for a type after it has been added to the test model.
            </summary>
      <param name="typeScope">The type scope.</param>
      <param name="type">The type.</param>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.IsPrimary">
      <summary>
            Returns true if this is a primary pattern.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.IsTest(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="evaluator">The evaluator.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">May be thrown to halt processing of the pattern
            and report an error message to the user as an annotation that describes how the
            pattern was misapplied.</exception>
    </member>
    <member name="P:Gallio.Framework.Pattern.TestTypePatternAttribute.Order">
      <summary>
            Gets or sets a number that defines an ordering for the test with respect to its siblings.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.SetTestSemantics(Gallio.Framework.Pattern.ITestBuilder,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Applies semantic actions to a test to estalish its runtime behavior.
            </summary>
      <param name="testBuilder">The test builder.</param>
      <param name="type">The test type.</param>
    </member>
    <member name="M:Gallio.Framework.Pattern.TestTypePatternAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
      <summary>
            Verifies that the attribute is being used correctly.
            </summary>
      <param name="containingScope">The containing scope.</param>
      <param name="type">The type.</param>
      <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
    </member>
    <member name="T:Gallio.Framework.Utilities.SampleRunner">
      <summary>
            Runs sample test cases within an embedded copy of the test runner and provides
            access to the resulting test report.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.#ctor">
      <summary>
            Creates a sample runner.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.AddAssembly(System.Reflection.Assembly)">
      <summary>
            Adds a test assembly to the package configuration, if not already added.
            </summary>
      <param name="assembly">The assembly to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.AddFile(System.IO.FileInfo)">
      <summary>
            Adds a test file to the package configuration, if not already added.
            </summary>
      <param name="file">The file to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="file" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.AddFilter(Gallio.Model.Filters.Filter{Gallio.Model.Filters.ITestDescriptor})">
      <summary>
            Adds a test filter to the combined list of filters that select which tests to include in the run,
            if not already added.
            </summary>
      <param name="filter">The filter to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.AddFixture(System.Type)">
      <summary>
            Adds a test fixture type to the list of filters, and automatically adds its containing
            test assembly to the package configuration, if not already added.
            </summary>
      <param name="fixtureType">The test fixture type to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fixtureType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.AddMethod(System.Type,System.String)">
      <summary>
            Adds a test method to the list of filters, and automatically adds its containing
            test assembly to the package configuration, if not already added.
            </summary>
      <param name="fixtureType">The test fixture type.</param>
      <param name="methodName">The test method name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fixtureType" /> or <paramref name="methodName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.Explore">
      <summary>
            Explores the tests but does not run them.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetPrimaryTestStepRun(Gallio.Common.Reflection.CodeReference)">
      <summary>
            Gets the primary test step run of a test with the given code reference.
            </summary>
      <param name="codeReference">The code reference of the test.</param>
      <returns>The first test step run, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetPrimaryTestStepRun(System.Predicate{Gallio.Runner.Reports.Schema.TestStepRun})">
      <summary>
            Gets the primary test step run that match a predicate.
            </summary>
      <param name="predicate">The predicate to match.</param>
      <returns>The first test step run, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetTestCaseRunsWithin(Gallio.Common.Reflection.CodeReference)">
      <summary>
            Gets all test step runs that represent test cases within a test with
            the specified code reference.
            </summary>
      <param name="codeReference">The code reference of the test.</param>
      <returns>The first test step run, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetTestData(Gallio.Common.Reflection.CodeReference)">
      <summary>
            Gets information about the test with the given code reference.
            </summary>
      <param name="codeReference">The code reference of the test.</param>
      <returns>The test data, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetTestData(System.Predicate{Gallio.Model.Schema.TestData})">
      <summary>
            Gets information about the test that matches a predicate.
            </summary>
      <param name="predicate">The predicate to match.</param>
      <returns>The test data, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetTestStepRuns(Gallio.Common.Reflection.CodeReference)">
      <summary>
            Gets all test step runs with the given code reference.
            </summary>
      <param name="codeReference">The code reference of the test.</param>
      <returns>The enumeration of test step runs, or null if not found.</returns>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.GetTestStepRuns(System.Predicate{Gallio.Runner.Reports.Schema.TestStepRun})">
      <summary>
            Gets all test step runs that match a predicate.
            </summary>
      <param name="predicate">The predicate to match.</param>
      <returns>The enumeration of test step runs, or null if not found.</returns>
    </member>
    <member name="P:Gallio.Framework.Utilities.SampleRunner.Report">
      <summary>
            Gets the test report that was produced by the test run.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Utilities.SampleRunner.Result">
      <summary>
            Gets the result of the test run.
            </summary>
    </member>
    <member name="M:Gallio.Framework.Utilities.SampleRunner.Run">
      <summary>
            Runs the tests.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Utilities.SampleRunner.TestPackage">
      <summary>
            Gets the test package for the test run.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Utilities.SampleRunner.TestRunnerFactoryName">
      <summary>
            Gets or sets the name of the test runner factory to use.
            </summary>
    </member>
    <member name="P:Gallio.Framework.Utilities.SampleRunner.TestRunnerOptions">
      <summary>
            Gets the test runner options.
            </summary>
    </member>
    <member name="T:Gallio.Model.AnnotationType">
      <summary>
            Specifies the type of an annotation.
            </summary>
    </member>
    <member name="F:Gallio.Model.AnnotationType.Info">
      <summary>
            An informational annotation.
            </summary>
    </member>
    <member name="F:Gallio.Model.AnnotationType.Warning">
      <summary>
            A warning annotation.
            </summary>
    </member>
    <member name="F:Gallio.Model.AnnotationType.Error">
      <summary>
            An error annotation.
            </summary>
    </member>
    <member name="T:Gallio.Model.BaseTestDriver">
      <summary>
            A base test driver that does nothing.
            </summary>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.BaseTestDriver" /> class</summary>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.Describe(Gallio.Common.Reflection.IReflectionPolicy,System.Collections.Generic.IList{Gallio.Common.Reflection.ICodeElementInfo},Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Describes tests via reflection over code elements.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElements">The list of code elements, usually <see cref="T:Gallio.Common.Reflection.ITypeInfo" />
            and <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" /> objects, that might contain tests to be described.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="messageSink">The message sink to receive test exploration messages.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />,
            <paramref name="codeElements" />, <paramref name="testExplorationOptions" />, <paramref name="messageSink" />
            or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.DescribeImpl(Gallio.Common.Reflection.IReflectionPolicy,System.Collections.Generic.IList{Gallio.Common.Reflection.ICodeElementInfo},Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Describes tests via reflection over code elements.
            </summary>
      <param name="reflectionPolicy">The reflection policy, not null.</param>
      <param name="codeElements">The enumeration of code elements, usually <see cref="T:Gallio.Common.Reflection.ITypeInfo" />
            and <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" /> objects, that might contain tests to be described, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.Explore(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests in a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context.</param>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="messageSink">The message sink to receive test exploration messages.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationContext" />,
            <paramref name="testPackage" />, <paramref name="testExplorationOptions" />, <paramref name="messageSink" />
            or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.ExploreImpl(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The test report.</returns>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.IsTest(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />
            or <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.IsTestImpl(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="reflectionPolicy">The reflection policy, not null.</param>
      <param name="codeElement">The code element, not null.</param>
      <returns>True if the code element represents a test.</returns>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.IsTestPart(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a setup or teardown method.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a part of a test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />
            or <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.IsTestPartImpl(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a setup or teardown method.
            </summary>
      <param name="reflectionPolicy">The reflection policy, not null.</param>
      <param name="codeElement">The code element, not null.</param>
      <returns>True if the code element represents a part of a test.</returns>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.Run(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context.</param>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="testExecutionOptions">The test execution options.</param>
      <param name="messageSink">The message sink to receive test exploration and execution messages.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationContext" />,
            <paramref name="testPackage" />, <paramref name="testExplorationOptions" />, <paramref name="testExecutionOptions" />,
            <paramref name="messageSink" /> or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.BaseTestDriver.RunImpl(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="testExecutionOptions">The test execution options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration and execution messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The test report.</returns>
    </member>
    <member name="T:Gallio.Model.BaseTestFramework">
      <summary>
            Abstract base class for test framework implementations.
            </summary>
    </member>
    <member name="M:Gallio.Model.BaseTestFramework.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.BaseTestFramework" /> class</summary>
    </member>
    <member name="M:Gallio.Model.BaseTestFramework.GetTestDriverFactory">
      <summary>
            Gets the test driver factory for the framework.
            </summary>
      <returns>The test driver factory.</returns>
    </member>
    <member name="T:Gallio.Model.DefaultTestFrameworkManager">
      <summary>
            Default implementation of a test framework manager.
            </summary>
    </member>
    <member name="M:Gallio.Model.DefaultTestFrameworkManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Model.ITestFramework,Gallio.Model.TestFrameworkTraits}[],Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Model.ITestFramework,Gallio.Model.TestFrameworkTraits},Gallio.Runtime.FileTypes.IFileTypeManager)">
      <summary>
            Creates a test framework manager.
            </summary>
      <param name="testFrameworkHandles">The test framework handles.</param>
      <param name="fallbackTestFrameworkHandle">The fallback test framework handle.</param>
      <param name="fileTypeManager">The file type manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFrameworkHandles" />,
            <paramref name="fallbackTestFrameworkHandle" /> or <paramref name="fileTypeManager " />is null.</exception>
    </member>
    <member name="P:Gallio.Model.DefaultTestFrameworkManager.FallbackTestFrameworkHandle">
      <summary>
            Gets the handle of the fallback test framework used when no other
            framework supports a given test file.
            </summary>
    </member>
    <member name="M:Gallio.Model.DefaultTestFrameworkManager.GetTestDriver(Gallio.Model.TestFrameworkSelector,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Gets an aggregate test driver for selected frameworks.
            </summary>
      <param name="selector">The test framework selector.</param>
      <param name="logger">The logger for the test driver.</param>
      <returns>The test driver.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if 
            <paramref name="selector" /> or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.DefaultTestFrameworkManager.SelectTestFrameworksForCodeElements(Gallio.Model.TestFrameworkSelector,System.Collections.Generic.ICollection{Gallio.Common.Reflection.ICodeElementInfo})">
      <summary>
            Selects the test frameworks to use for a collection of code elements.
            </summary>
      <param name="selector">The test framework selector.</param>
      <param name="codeElements">The code elements.</param>
      <returns>The map of test framework selections to their associated code elements.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="selector" />
            or <paramref name="codeElements" /> is null or contains null.</exception>
    </member>
    <member name="M:Gallio.Model.DefaultTestFrameworkManager.SelectTestFrameworksForFiles(Gallio.Model.TestFrameworkSelector,System.Collections.Generic.ICollection{System.IO.FileInfo})">
      <summary>
            Selects the test frameworks to use for a collection of files.
            </summary>
      <param name="selector">The test framework selector.</param>
      <param name="files">The test files.</param>
      <returns>The map of test framework selections to their associated test files.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="selector" />
            or <paramref name="files" /> is null or contains null.</exception>
    </member>
    <member name="P:Gallio.Model.DefaultTestFrameworkManager.TestFrameworkHandles">
      <summary>
            Gets handles for all registered test frameworks.
            </summary>
    </member>
    <member name="T:Gallio.Model.DefaultTestKind">
      <summary>
            Default implementation of <see cref="T:Gallio.Model.ITestKind" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.DefaultTestKind.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.DefaultTestKind" /> class</summary>
    </member>
    <member name="T:Gallio.Model.DefaultTestKindManager">
      <summary>
            Default implementation of a <see cref="T:Gallio.Model.ITestKindManager" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.DefaultTestKindManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Model.ITestKind,Gallio.Model.TestKindTraits}[])">
      <summary>
            Creates a test kind manager.
            </summary>
      <param name="testKindHandles">The test kind handles.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testKindHandles" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.DefaultTestKindManager.TestKindHandles">
      <summary>
            Gets handles for all registered test kinds.
            </summary>
    </member>
    <member name="T:Gallio.Model.DotNetTestDriver">
      <summary>
            A base test driver that is intended to support exploring and executing tests
            inside .Net assemblies.
            </summary>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.DotNetTestDriver" /> class</summary>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.ConfigureHostSetup(Gallio.Runtime.Hosting.HostSetup,Gallio.Model.TestPackage,System.String,Gallio.Common.Reflection.AssemblyMetadata)">
      <summary>
            Configures the host setup prior to the initialization of the script runtime.
            </summary>
      <param name="hostSetup">The host setup, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="assemblyPath">The assembly path, not null.</param>
      <param name="assemblyMetadata">The assembly metadata, not null.</param>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.ConfigureHostSetupForAssembly(Gallio.Runtime.Hosting.HostSetup,System.String)">
      <summary>
            Configures the host for a particular assembly.
            </summary>
      <param name="hostSetup">The host setup, not null.</param>
      <param name="assemblyPath">The test assembly path, not null.</param>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.CreateHostSetup(Gallio.Model.TestPackage,System.String,Gallio.Common.Reflection.AssemblyMetadata)">
      <summary>
            Creates a host setup for a particular assembly within a test package.
            </summary>
      <param name="testPackage">The test package, not null.</param>
      <param name="assemblyPath">The assembly path, not null.</param>
      <param name="assemblyMetadata">The assembly metadata, not null.</param>
      <returns>The host setup setup.</returns>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.ExploreAssembly(System.Reflection.Assembly,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests in an assembly.
            </summary>
      <param name="assembly">The test assembly, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.ExploreImpl(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The test report.</returns>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.GetRemoteTestDriverArguments">
      <summary>
            Gets arguments used to construct the a remote instance of the test driver.
            </summary>
      <returns>
      </returns>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.RunAssembly(System.Reflection.Assembly,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests in an assembly.
            </summary>
      <param name="assembly">The test assembly, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="testExecutionOptions">The test execution options, not null.</param>
      <param name="messageSink">The message sink, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Model.DotNetTestDriver.RunImpl(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="testExecutionOptions">The test execution options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration and execution messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The test report.</returns>
    </member>
    <member name="T:Gallio.Model.FallbackTestDriver">
      <summary>
            A test driver implementation used when no test framework supports a given test file.
            </summary>
    </member>
    <member name="M:Gallio.Model.FallbackTestDriver.#ctor(Gallio.Model.TestFrameworkOptions)">
      <summary>
            Creates the fallback test driver.
            </summary>
      <param name="testFrameworkOptions">The test framework options.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFrameworkOptions" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.FallbackTestDriver.DescribeImpl(Gallio.Common.Reflection.IReflectionPolicy,System.Collections.Generic.IList{Gallio.Common.Reflection.ICodeElementInfo},Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Describes tests via reflection over code elements.
            </summary>
      <param name="reflectionPolicy">The reflection policy, not null.</param>
      <param name="codeElements">The enumeration of code elements, usually <see cref="T:Gallio.Common.Reflection.ITypeInfo" />
            and <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" /> objects, that might contain tests to be described, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Model.FallbackTestDriver.ExploreImpl(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The test report.</returns>
    </member>
    <member name="P:Gallio.Model.FallbackTestDriver.FallbackExplanation">
      <summary>
            Gets the fallback explanation.
            </summary>
    </member>
    <member name="M:Gallio.Model.FallbackTestDriver.RunImpl(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context, not null.</param>
      <param name="testPackage">The test package, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="testExecutionOptions">The test execution options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration and execution messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The test report.</returns>
    </member>
    <member name="T:Gallio.Model.FallbackTestFramework">
      <summary>
            A test framework implementation used when no test framework supports a given test file.
            </summary>
    </member>
    <member name="M:Gallio.Model.FallbackTestFramework.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.FallbackTestFramework" /> class</summary>
    </member>
    <member name="F:Gallio.Model.FallbackTestFramework.FallbackExplanationKey">
      <summary>
            The test framework option key used to explain why the fallback test framework is being used.
            </summary>
    </member>
    <member name="M:Gallio.Model.FallbackTestFramework.GetTestDriverFactory">
      <summary>
            Gets the test driver factory for the framework.
            </summary>
      <returns>The test driver factory.</returns>
    </member>
    <member name="T:Gallio.Model.ITestDriver">
      <summary>
            Provides test framework services for exploring and running tests.
            </summary>
    </member>
    <member name="M:Gallio.Model.ITestDriver.Describe(Gallio.Common.Reflection.IReflectionPolicy,System.Collections.Generic.IList{Gallio.Common.Reflection.ICodeElementInfo},Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Describes tests via reflection over code elements.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElements">The list of code elements, usually <see cref="T:Gallio.Common.Reflection.ITypeInfo" />
            and <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" /> objects, that might contain tests to be described.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="messageSink">The message sink to receive test exploration messages.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />,
            <paramref name="codeElements" />, <paramref name="testExplorationOptions" />, <paramref name="messageSink" />
            or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.ITestDriver.Explore(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests in a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context.</param>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="messageSink">The message sink to receive test exploration messages.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationContext" />,
            <paramref name="testPackage" />, <paramref name="testExplorationOptions" />, <paramref name="messageSink" />
            or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.ITestDriver.IsTest(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a test.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />
            or <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.ITestDriver.IsTestPart(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Returns true if the code element represents a part of a test such as a setup or teardown method.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElement">The code element.</param>
      <returns>True if the code element represents a part of a test.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />
            or <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.ITestDriver.Run(Gallio.Model.Isolation.ITestIsolationContext,Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests from a test package.
            </summary>
      <param name="testIsolationContext">The test isolation context.</param>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="testExecutionOptions">The test execution options.</param>
      <param name="messageSink">The message sink to receive test exploration and execution messages.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationContext" />,
            <paramref name="testPackage" />, <paramref name="testExplorationOptions" />, <paramref name="testExecutionOptions" />,
            <paramref name="messageSink" /> or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.ITestFramework">
      <summary>
            The test framework service provides support for enumerating and executing
            tests that belong to some test framework.
            </summary>
    </member>
    <member name="M:Gallio.Model.ITestFramework.GetTestDriverFactory">
      <summary>
            Gets the test driver factory for the framework.
            </summary>
      <returns>The test driver factory.</returns>
    </member>
    <member name="T:Gallio.Model.ITestFrameworkManager">
      <summary>
            Provides services based on the installed set of test frameworks.
            </summary>
    </member>
    <member name="P:Gallio.Model.ITestFrameworkManager.FallbackTestFrameworkHandle">
      <summary>
            Gets the handle of the fallback test framework used when no other
            framework supports a given test file.
            </summary>
    </member>
    <member name="M:Gallio.Model.ITestFrameworkManager.GetTestDriver(Gallio.Model.TestFrameworkSelector,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Gets an aggregate test driver for selected frameworks.
            </summary>
      <param name="selector">The test framework selector.</param>
      <param name="logger">The logger for the test driver.</param>
      <returns>The test driver.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if 
            <paramref name="selector" /> or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.ITestFrameworkManager.SelectTestFrameworksForCodeElements(Gallio.Model.TestFrameworkSelector,System.Collections.Generic.ICollection{Gallio.Common.Reflection.ICodeElementInfo})">
      <summary>
            Selects the test frameworks to use for a collection of code elements.
            </summary>
      <param name="selector">The test framework selector.</param>
      <param name="codeElements">The code elements.</param>
      <returns>The map of test framework selections to their associated code elements.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="selector" />
            or <paramref name="codeElements" /> is null or contains null.</exception>
    </member>
    <member name="M:Gallio.Model.ITestFrameworkManager.SelectTestFrameworksForFiles(Gallio.Model.TestFrameworkSelector,System.Collections.Generic.ICollection{System.IO.FileInfo})">
      <summary>
            Selects the test frameworks to use for a collection of files.
            </summary>
      <param name="selector">The test framework selector.</param>
      <param name="files">The test files.</param>
      <returns>The map of test framework selections to their associated test files.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="selector" />
            or <paramref name="files" /> is null or contains null.</exception>
    </member>
    <member name="P:Gallio.Model.ITestFrameworkManager.TestFrameworkHandles">
      <summary>
            Gets handles for all registered test frameworks.
            </summary>
    </member>
    <member name="T:Gallio.Model.ITestKind">
      <summary>
            Describes a test kind.
            </summary>
    </member>
    <member name="T:Gallio.Model.ITestKindManager">
      <summary>
            Manages the list of test kinds.
            </summary>
    </member>
    <member name="P:Gallio.Model.ITestKindManager.TestKindHandles">
      <summary>
            Gets handles for all registered test kinds.
            </summary>
    </member>
    <member name="T:Gallio.Model.LifecyclePhases">
      <summary>
            Defines the names of common test step lifecycle phases.
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.Dispose">
      <summary>
            The test step's context is being disposed.
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.Execute">
      <summary>
            The test step is executing its main body.
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.Finishing">
      <summary>
            The test step is finishing.
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.Initialize">
      <summary>
            The test is being initialize. (Fixture construction, etc.)
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.SetUp">
      <summary>
            The test step is being set up.
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.Starting">
      <summary>
            The test step is starting.
            </summary>
    </member>
    <member name="F:Gallio.Model.LifecyclePhases.TearDown">
      <summary>
            The test step is being torn down.
            </summary>
    </member>
    <member name="T:Gallio.Model.MetadataKeys">
      <summary>
            Provides common metadata keys.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.AuthorEmail">
      <summary>
            The metadata key for the author's email.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.AuthorHomepage">
      <summary>
            The metadata key for the author's homepage.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.AuthorName">
      <summary>
            The metadata key for the author's name.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Category">
      <summary>
            The metadata key for the name of a category to which a test belongs.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.CodeBase">
      <summary>
            The matadata key for the location of an assembly as a local
            file path or as a Uri.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Company">
      <summary>
            The metadata key for the name of the company associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Configuration">
      <summary>
            The metadata key for build/release configuration information associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Copyright">
      <summary>
            The metadata key for a copyright associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.DataLocation">
      <summary>
            The metadata key for specifying the origin of data used by a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Description">
      <summary>
            The metadata key for the description of a test component.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.ExpectedException">
      <summary>
            The metadata key for the expected exception type which should be the name,
            full name or assembly-qualified name of the expected exception type.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.ExpectedExceptionMessage">
      <summary>
            The metadata key for the expected exception message.
            May be a substring of the actual exception message.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.ExplicitReason">
      <summary>
            The metadata key that describes the reason that a test should be run explicitly.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.File">
      <summary>
            The metadata key for a file associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.FileVersion">
      <summary>
            The metadata key for a file version number associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Framework">
      <summary>
            The metadata key for the test framework name associated with a test assembly in the test tree.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.IgnoreReason">
      <summary>
            The metadata key that describes the reason that a test is being ignored.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Importance">
      <summary>
            The metadata key for the importance of a test component as the
            string representation of one of the <c>TestImportance</c> constants in MbUnit
            or its equivalent.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.InformationalVersion">
      <summary>
            The metadata key for an informational version number associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.PendingReason">
      <summary>
            The metadata key that describes the reason that a test is pending.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Product">
      <summary>
            The metadata key for a product associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.TestKind">
      <summary>
            The metadata key used to describe the kind of a test as the
            string representation of one of the <see cref="T:Gallio.Model.TestKinds" /> constants.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.TestsOn">
      <summary>
            The metadata key for the name of the type being tested.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Title">
      <summary>
            The metadata key for a title associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Trademark">
      <summary>
            The metadata key for a trademark associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.Version">
      <summary>
            The metadata key for a version number associated with a test.
            </summary>
    </member>
    <member name="F:Gallio.Model.MetadataKeys.XmlDocumentation">
      <summary>
            The metadata key for the XML documentation of the test derived from
            XML code documentation comments.
            </summary>
    </member>
    <member name="T:Gallio.Model.ModelException">
      <summary>
            The type of exception thrown when test model and test framework
            operations fail.
            </summary>
    </member>
    <member name="M:Gallio.Model.ModelException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Model.ModelException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Model.ModelException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Model.ModelException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Model.ModelNormalizationUtils">
      <summary>
            Utilities for normalizing test model contents.
            </summary>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeAnnotationText(System.String)">
      <summary>
            Normalizes the message or details of an annotation.
            </summary>
      <param name="text">The text, or null if none.</param>
      <returns>The normalized text, or null if none.  May be the same instance if <paramref name="text" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeLifecyclePhase(System.String)">
      <summary>
            Normalizes a lifecycle phase.
            </summary>
      <param name="lifecyclePhase">The lifecycle phase, or null if none.</param>
      <returns>The normalized lifecycle phase, or null if none.  May be the same instance if <paramref name="lifecyclePhase" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeLogMessage(System.String)">
      <summary>
            Normalizes a log message.
            </summary>
      <param name="text">The text, or null if none.</param>
      <returns>The normalized text, or null if none.  May be the same instance if <paramref name="text" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeMetadata(Gallio.Common.Collections.PropertyBag)">
      <summary>
            Normalizes a metadata collection.
            </summary>
      <param name="metadata">The metadata collection, or null if none.</param>
      <returns>The normalized metadata collection, or null if none.  May be the same instance if <paramref name="metadata" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeMetadataKey(System.String)">
      <summary>
            Normalizes a metadata key.
            </summary>
      <param name="metadataKey">The metadata key, or null if none.</param>
      <returns>The normalized metadata key, or null if none.  May be the same instance if <paramref name="metadataKey" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeMetadataValue(System.String)">
      <summary>
            Normalizes a metadata value.
            </summary>
      <param name="metadataValue">The metadata value, or null if none.</param>
      <returns>The normalized metadata value, or null if none.  May be the same instance if <paramref name="metadataValue" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeTestComponentId(System.String)">
      <summary>
            Normalizes a test, step or parameter id.
            </summary>
      <param name="id">The id, or null if none.</param>
      <returns>The normalized id, or null if none.  May be the same instance if <paramref name="id" />
            was already normalized.</returns>
    </member>
    <member name="M:Gallio.Model.ModelNormalizationUtils.NormalizeTestComponentName(System.String)">
      <summary>
            Normalizes a test, step or parameter name.
            </summary>
      <param name="name">The name, or null if none.</param>
      <returns>The normalized name, or null if none.  May be the same instance if <paramref name="name" />
            was already normalized.</returns>
    </member>
    <member name="T:Gallio.Model.ModelUtils">
      <summary>
            Provides utility functions for manipulating the object model.
            </summary>
    </member>
    <member name="M:Gallio.Model.ModelUtils.PopulateMetadataFromAssembly(Gallio.Common.Reflection.IAssemblyInfo,Gallio.Common.Collections.PropertyBag)">
      <summary>
            Populates the provided metadata map with asembly-level metadata derived
            from custom attributes.
            </summary>
      <param name="assembly">The assembly.</param>
      <param name="metadataMap">The metadata map.</param>
    </member>
    <member name="T:Gallio.Model.TestDriverFactory">
      <summary>
            A factory for test drivers.
            </summary>
      <param name="testFrameworkHandles">The component handles of frameworks which share this test driver factory, not null.</param>
      <param name="testFrameworkOptions">The test framework options, not null.</param>
      <param name="logger">The logger for the test driver, not null.</param>
    </member>
    <member name="T:Gallio.Model.TestExecutionOptions">
      <summary>
            Provides options that control how test execution occurs.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExecutionOptions.#ctor">
      <summary>
            Creates a default set of test execution options.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExecutionOptions.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Model.TestExecutionOptions.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExecutionOptions.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Model.TestExecutionOptions.ExactFilter">
      <summary>
            Gets or sets whether the filter exactly specifies all tests to select.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestExecutionOptions.FilterSet">
      <summary>
            Gets or sets the filter set.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestExecutionOptions.Properties">
      <summary>
            Gets a read-only collection of configuration properties for test execution.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExecutionOptions.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestExecutionOptions.SingleThreaded">
      <summary>
            Gets or sets whether to run tests within a single thread.  This ensures that the
            tests will run on the same thread as the initial call to the test harness (unless
            the test framework itself spawns any new threads).
            </summary>
    </member>
    <member name="P:Gallio.Model.TestExecutionOptions.SkipDynamicTests">
      <summary>
            Gets or sets whether to skip running tests that use dynamic data items.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestExecutionOptions.SkipTestExecution">
      <summary>
            Gets or sets whether to skip the execution of tests.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestExplorationOptions">
      <summary>
            Provides options that control how test exploration occurs.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExplorationOptions.#ctor">
      <summary>
            Creates a default set of test execution options.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExplorationOptions.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Model.TestExplorationOptions.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExplorationOptions.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Model.TestExplorationOptions.Properties">
      <summary>
            Gets a read-only collection of configuration properties for test exploration.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestExplorationOptions.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.TestFrameworkFallbackMode">
      <summary>
            Specifies how Gallio responds to test files that do not match any frameworks.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestFrameworkFallbackMode.Default">
      <summary>
            Default match: always fallback to the fallback test framework when 
            a file does not satisfy the constraits of any other
            test framework exactly.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestFrameworkFallbackMode.Approximate">
      <summary>
            Approximate match: fallback to the fallback test framework when
            a file does not satisfy the constraints of any other
            test framework exactly but appears to be an approximate match
            for one of them (perhaps differing in version only).  Otherwise
            the file is not considered a test file.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestFrameworkFallbackMode.Strict">
      <summary>
            Strict match: no fallback.  If a file does not satisfy the
            constraints of any framework exactly then it is not considered a test file.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestFrameworkOptions">
      <summary>
            Provides options that configure a test framework.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkOptions.#ctor">
      <summary>
            Creates a default set of test framework options.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkOptions.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Model.TestFrameworkOptions.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkOptions.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Model.TestFrameworkOptions.Properties">
      <summary>
            Gets a read-only collection of configuration properties for the test framework.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkOptions.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.TestFrameworkSelection">
      <summary>
            Specifies a test frameworks that has been selected by a <see cref="T:Gallio.Model.TestFrameworkSelector" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkSelection.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Model.ITestFramework,Gallio.Model.TestFrameworkTraits},Gallio.Model.TestFrameworkOptions,System.Boolean)">
      <summary>
            Creates a test framework selection.
            </summary>
      <param name="testFrameworkHandle">The selected test framework handle.</param>
      <param name="testFrameworkOptions">The test framework options.</param>
      <param name="isFallback">True if the selection includes the fallback test
            framework because a test file is not supported by any other registered
            test framework.  <seealso cref="P:Gallio.Model.TestFrameworkSelector.FallbackMode" /></param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFrameworkHandle" />
            or <paramref name="testFrameworkOptions" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestFrameworkSelection.IsFallback">
      <summary>
            Returns true if the selected test framework is a fallback because no other
            registered test framework supports the requested test resources.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestFrameworkSelection.TestFrameworkHandle">
      <summary>
            Gets the selected test framework handle.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestFrameworkSelection.TestFrameworkOptions">
      <summary>
            Gets the test framework options.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestFrameworkSelector">
      <summary>
            Provides options for selecting test frameworks.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkSelector.#ctor">
      <summary>
            Creates a test framework filter initialized to defaults.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestFrameworkSelector.FallbackMode">
      <summary>
            Gets or sets the fallback mode used to specify when the <see cref="T:Gallio.Model.FallbackTestFramework" />
            should be used if a test file is not supported by any other test framework.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestFrameworkSelector.Filter">
      <summary>
            Gets or sets a filter predicate for selecting test frameworks to include, or null if all
            frameworks should be considered. 
            </summary>
    </member>
    <member name="P:Gallio.Model.TestFrameworkSelector.Options">
      <summary>
            Gets or sets the test framework options.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.TestFrameworkTraits">
      <summary>
            Describes traits of an <see cref="T:Gallio.Model.ITestFramework" /> component.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkTraits.#ctor(System.String)">
      <summary>
            Creates test framework traits.
            </summary>
      <param name="name">The framework's display name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestFrameworkTraits.FileTypes">
      <summary>
            Gets or sets the list of file types ids recognized by the framework as test files.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestFrameworkTraits.FrameworkAssemblies">
      <summary>
            Gets or sets the list of framework assembly signatures that are recognized and supported
            by this framework component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestFrameworkTraits.Icon">
      <summary>
            Gets or sets the framework's icon, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestFrameworkTraits.IsFrameworkCompatibleWithAssemblyReferences(System.Collections.Generic.IEnumerable{System.Reflection.AssemblyName})">
      <summary>
            Returns true if at least one of the assembly references is in <see cref="P:Gallio.Model.TestFrameworkTraits.FrameworkAssemblies" />.
            </summary>
      <param name="assemblyReferences">The assembly references.</param>
      <returns>True if the framework is compatible.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyReferences" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestFrameworkTraits.IsFrameworkCompatibleWithFileType(Gallio.Runtime.FileTypes.FileType,Gallio.Runtime.FileTypes.IFileTypeManager)">
      <summary>
            Returns true if the file type is the same or a subtype of one of those specified by <see cref="P:Gallio.Model.TestFrameworkTraits.FileTypes" />.
            </summary>
      <param name="fileType">The file type.</param>
      <param name="fileTypeManager">The file type manager used to resolve file type ids to file types.</param>
      <returns>True if the framework is compatible.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileType" /> or <paramref name="fileTypeManager" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestFrameworkTraits.Name">
      <summary>
            Gets the framework's display name.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestFrameworkTraits.Version">
      <summary>
            The version of the test framework.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestKinds">
      <summary>
            A list of standard test kind names provided by Gallio.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Assembly">
      <summary>
            The test represents the tests contained in a single test assembly.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.File">
      <summary>
            The test represents the tests contained in a single test file.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Fixture">
      <summary>
            The test represents a test fixture.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Group">
      <summary>
            The test represents a grouping of tests for descriptive purposes.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Namespace">
      <summary>
            The test represents the tests contained in a single test namespace.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Root">
      <summary>
            The test represents the root of the test tree.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Suite">
      <summary>
            The test represents a test suite.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Test">
      <summary>
            The test represents a test case.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestKinds.Unsupported">
      <summary>
            The test is a placeholder for an unsupported test file or element.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestKindTraits">
      <summary>
            Specifies traits for <see cref="T:Gallio.Model.ITestKind" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestKindTraits.#ctor(System.String,System.String)">
      <summary>
            Creates test kind traits.
            </summary>
      <param name="name">The test kind name.</param>
      <param name="description">The test kind description.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="description" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestKindTraits.Description">
      <summary>
            Gets the description of the test kind.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestKindTraits.Icon">
      <summary>
            Gets or sets the icon for the test kind, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestKindTraits.Name">
      <summary>
            Gets the name of the test kind.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestOutcome">
      <summary>
            Describes the outcome of a test.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestOutcome.#ctor(Gallio.Model.TestStatus)">
      <summary>
            Creates a test outcome with no category.
            </summary>
      <param name="status">The test <see cref="P:Gallio.Model.TestOutcome.Status" />.</param>
    </member>
    <member name="M:Gallio.Model.TestOutcome.#ctor(Gallio.Model.TestStatus,System.String)">
      <summary>
            Creates a test outcome with an optional category.
            </summary>
      <param name="status">The test <see cref="P:Gallio.Model.TestOutcome.Status" /></param>
      <param name="category">The test <see cref="P:Gallio.Model.TestOutcome.Category" />, or null or an empty string if none.</param>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Canceled">
      <summary>
            Gets a standard outcome for a test that has an inconclusive outcome because it was canceled.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Category">
      <summary>
            Gets the test outcome category, or null if none.  Never an empty string.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestOutcome.CombineWith(Gallio.Model.TestOutcome)">
      <summary>
            If the other outcome is more severe than this one, returns it.
            Otherwise returns this outcome.
            </summary>
      <param name="other">The other outcome.</param>
      <returns>The combined outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.DisplayName">
      <summary>
            Gets the name of the outcome as it should be displayed.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestOutcome.Equals(Gallio.Model.TestOutcome)">
      <summary>
                    Indicates whether the current object is equal to another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
                </returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.Equals(System.Object)">
      <summary>
                    Indicates whether this instance and a specified object are equal.
                </summary>
      <param name="obj">
                    Another object to compare to. 
                </param>
      <returns>true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
                </returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Error">
      <summary>
            Gets a standard outcome for a test that failed due to an error.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Explicit">
      <summary>
            Gets a standard outcome for a test that did not run because it must be selected explicitly.
            The test may be particularly expensive or require manual supervision by an operator.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Failed">
      <summary>
            Gets a standard outcome for a test that failed.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.Generalize">
      <summary>
            Produces an outcome with the same status but omitting the category information.
            </summary>
      <returns>The generalized outcome.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.GetHashCode">
      <summary>
                    Returns the hash code for this instance.
                </summary>
      <returns>
                    A 32-bit signed integer that is the hash code for this instance.
                </returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Ignored">
      <summary>
            Gets a standard outcome for a test that did not run because the user is choosing
            to ignore it.  Perhaps the test is broken or non-functional.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Inconclusive">
      <summary>
            Gets a standard outcome for a test that was inconclusive.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.op_Equality(Gallio.Model.TestOutcome,Gallio.Model.TestOutcome)">
      <summary>
            Compares two outcomes for equality.
            </summary>
      <param name="a">The first outcome.</param>
      <param name="b">The second outcome.</param>
      <returns>True if the outcomes are equal.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.op_Inequality(Gallio.Model.TestOutcome,Gallio.Model.TestOutcome)">
      <summary>
            Compares two outcomes for inequality.
            </summary>
      <param name="a">The first outcome.</param>
      <param name="b">The second outcome.</param>
      <returns>True if the outcomes are not equal.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Passed">
      <summary>
            Gets a standard outcome for a test that passed.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Pending">
      <summary>
            Gets a standard outcome for a test that did not run because it has unsatisfied
            prerequisites.  The test may depend on functionality that has not yet been implemented
            or perhaps the test itself has yet to be implemented.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.ProvideXmlSchema(System.Xml.Schema.XmlSchemaSet)">
      <summary>
            Provides the Xml schema for this element.
            </summary>
      <param name="schemas">The schema set.</param>
      <returns>The schema type of the element.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Skipped">
      <summary>
            Gets a standard outcome for a test that did not run.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Status">
      <summary>
            Gets the test status.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestOutcome.Timeout">
      <summary>
            Gets a standard outcome for a test that failed because it ran out of time.
            </summary>
      <returns>The outcome.</returns>
    </member>
    <member name="M:Gallio.Model.TestOutcome.ToString">
      <summary>
            Returns the <see cref="P:Gallio.Model.TestOutcome.DisplayName" /> of the outcome.
            </summary>
      <returns>The display name.</returns>
    </member>
    <member name="T:Gallio.Model.TestPackage">
      <summary>
            A test package specifies the test files, assemblies, and configuration options
            that govern test execution.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.#ctor">
      <summary>
            Creates an empty test package.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.AddExcludedTestFrameworkId(System.String)">
      <summary>
            Adds an excluded test framework id if it is not already in the test package.
            </summary>
      <param name="testFrameworkId">The test framework id to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFrameworkId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.AddFile(System.IO.FileInfo)">
      <summary>
            Adds a test file if it is not already in the test package.
            </summary>
      <param name="file">The file to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="file" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.AddHintDirectory(System.IO.DirectoryInfo)">
      <summary>
            Adds a hint directory if it is not already in the test package.
            </summary>
      <param name="directory">The directory to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="directory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="P:Gallio.Model.TestPackage.ApplicationBaseDirectory">
      <summary>
            Gets or sets the application base directory, or null to use the directory
            containing each group of test files or some other suitable default chosen by the test framework.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ApplyOverlay(Gallio.Model.TestPackage)">
      <summary>
            Applies the settings of another test package as an overlay on top of this one.
            </summary>
      <param name="overlay">The test package to overlay on top of this one.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="overlay" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.ClearFiles">
      <summary>
            Clears the list of test files.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ClearHintDirectories">
      <summary>
            Clears the list of hint directories.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ClearTestExcludedFrameworkIds">
      <summary>
            Clears the list of excluded test framework ids.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.Copy">
      <summary>
            Creates a copy of the test package.
            </summary>
      <returns>The new copy.</returns>
    </member>
    <member name="M:Gallio.Model.TestPackage.CreateHostSetup">
      <summary>
            Creates a host setup based on the package properties.
            </summary>
      <returns>The host setup.</returns>
    </member>
    <member name="M:Gallio.Model.TestPackage.CreateTestFrameworkSelector">
      <summary>
            Creates a test framework selector based on the package properties.
            </summary>
      <returns>The test framework selector.</returns>
    </member>
    <member name="P:Gallio.Model.TestPackage.DebuggerSetup">
      <summary>
            Gets or sets the debugger setup options, or null if not debugging.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.ExcludedTestFrameworkIds">
      <summary>
            Gets the read-only list of test framework IDs that are to be excluded from the test
            exploration process.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.Files">
      <summary>
            Gets the read-only list of test files.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.HintDirectories">
      <summary>
            Gets the read-only list of hint directories used to resolve test assemblies and other files.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsApplicationBaseDirectorySpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.ApplicationBaseDirectory" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsDebuggerSetupSpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.DebuggerSetup" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsRuntimeVersionSpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.RuntimeVersion" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsShadowCopySpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.ShadowCopy" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsTestFrameworkFallbackModeSpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.TestFrameworkFallbackMode" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsTestFrameworkOptionsSpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.TestFrameworkOptions" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.IsWorkingDirectorySpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Model.TestPackage.WorkingDirectory" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.Properties">
      <summary>
            Gets a read-only collection of properties for the test runner.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.RemoveExcludedTestFrameworkId(System.String)">
      <summary>
            Removes an excluded test framework id.
            </summary>
      <param name="testFrameworkId">The test framework id to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFrameworkId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.RemoveFile(System.IO.FileInfo)">
      <summary>
            Removes a test file.
            </summary>
      <param name="file">The file to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="file" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.RemoveHintDirectory(System.IO.DirectoryInfo)">
      <summary>
            Removes a hint directory.
            </summary>
      <param name="directory">The directory to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="directory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetApplicationBaseDirectory">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.ApplicationBaseDirectory" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsApplicationBaseDirectorySpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetDebuggerSetup">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.DebuggerSetup" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsDebuggerSetupSpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetReportDirectory">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.WorkingDirectory" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsWorkingDirectorySpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetRuntimeVersion">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.RuntimeVersion" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsRuntimeVersionSpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetShadowCopy">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.ShadowCopy" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsShadowCopySpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetTestFrameworkFallbackMode">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.TestFrameworkFallbackMode" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsTestFrameworkFallbackModeSpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestPackage.ResetTestFrameworkOptions">
      <summary>
            Resets <see cref="P:Gallio.Model.TestPackage.TestFrameworkOptions" /> to its default value and sets <see cref="P:Gallio.Model.TestPackage.IsTestFrameworkOptionsSpecified" /> to false.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.RuntimeVersion">
      <summary>
            Gets or sets the .Net runtime version, or null to auto-detect.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.ShadowCopy">
      <summary>
            Gets or sets whether assembly shadow copying is enabled.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.TestFrameworkFallbackMode">
      <summary>
            Gets or sets the test framework fallback mode.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestPackage.TestFrameworkOptions">
      <summary>
            Gets or sets the test framework options.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.TestPackage.WorkingDirectory">
      <summary>
            Gets or sets the working directory, or null to use the directory containing
            each group of test files or some other suitable default chosen by the test framework.
            </summary>
    </member>
    <member name="T:Gallio.Model.TestResult">
      <summary>
            A test result describes the final result of having executed a test.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestResult.#ctor">
      <summary>
            Creates a test result with an inconclusive outcome.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestResult.#ctor(Gallio.Model.TestOutcome)">
      <summary>
            Creates a test result with a particular outcome.
            </summary>
      <param name="outcome">The outcome.</param>
    </member>
    <member name="P:Gallio.Model.TestResult.AssertCount">
      <summary>
            Gets or sets the number of assertions evaluated by the test, including its children.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestResult.Copy">
      <summary>
            Creates a copy of the test result.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Model.TestResult.Duration">
      <summary>
            Gets or sets the test duration, including its children.
            </summary>
    </member>
    <member name="P:Gallio.Model.TestResult.DurationInSeconds">
      <summary>
            Gets or sets the test duration in seconds, including its children.
            </summary>
    </member>
    <member name="M:Gallio.Model.TestResult.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.TestResult.Outcome">
      <summary>
            Gets or sets the test outcome, including its children (unless they were skipped
            or are otherwise irrelevant to the outcome of their parent).
            </summary>
    </member>
    <member name="T:Gallio.Model.TestStatus">
      <summary>
            Describes whether a test passed, failed, was skipped or was inconclusive.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestStatus.Passed">
      <summary>
            The test passed.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestStatus.Skipped">
      <summary>
            The test did not run so nothing is known about its status.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestStatus.Inconclusive">
      <summary>
            The test did not run or its result was inconclusive.
            </summary>
    </member>
    <member name="F:Gallio.Model.TestStatus.Failed">
      <summary>
            The test failed or encountered an error during execution.
            </summary>
    </member>
    <member name="T:Gallio.Model.Commands.DefaultTestCommandFactory">
      <summary>
            Generates test commands from a tree of tests using topological sort to
            order tests by dependencies and a test order strategy for tie-breaking.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.DefaultTestCommandFactory.#ctor">
      <summary>
            Creates a test command factory with a default test order strategy.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.DefaultTestCommandFactory.BuildCommands(Gallio.Model.Tree.TestModel,Gallio.Model.Filters.FilterSet{Gallio.Model.Filters.ITestDescriptor},System.Boolean,Gallio.Model.Contexts.ITestContextManager)">
      <summary>
            Recursively builds a tree of test commands.
            </summary>
      <param name="testModel">The test model.</param>
      <param name="filterSet">The filter set for the test model.</param>
      <param name="exactFilter">If true, only the specified tests are included, otherwise children
            of the selected tests are automatically included.</param>
      <param name="contextManager">The test context manager.</param>
      <returns>The root test command or null if none of the tests in
            the subtree including <paramref name="testModel" /> matched the filter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModel" />,
            <paramref name="filterSet" /> or <paramref name="contextManager" /> is null.</exception>
      <exception cref="T:Gallio.Model.ModelException">Thrown if an invalid test dependency is found.</exception>
    </member>
    <member name="P:Gallio.Model.Commands.DefaultTestCommandFactory.TestOrderStrategy">
      <summary>
            Gets or sets the test order strategy to use when deciding how test commands
            should be sorted.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Commands.DefaultTestOrderStrategy">
      <summary>
            Defines the test ordering strategy.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.DefaultTestOrderStrategy.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Commands.DefaultTestOrderStrategy" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Commands.DefaultTestOrderStrategy.Compare(Gallio.Model.Tree.Test,Gallio.Model.Tree.Test)">
      <summary>
                    Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
                </summary>
      <param name="x">
                    The first object to compare.
                </param>
      <param name="y">
                    The second object to compare.
                </param>
      <returns>
                    Value 
                
                    Condition 
                
                    Less than zero
                <paramref name="x" /> is less than <paramref name="y" />.
                
                    Zero
                <paramref name="x" /> equals <paramref name="y" />.
                
                    Greater than zero
                <paramref name="x" /> is greater than <paramref name="y" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Commands.ITestCommand">
      <summary>
            A test command requests the execution of a tree of <see cref="T:Gallio.Model.Tree.Test" />s.
            The test command hierarchy mirrors a filtered subset of the test hierarchy.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ITestCommand.AreDependenciesSatisfied">
      <summary>
            Returns true if all of the dependencies of this test command have
            been satisfied including transitive dependencies.
            </summary>
      <returns>True if the dependencies of this test command have been satisfied.</returns>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.Children">
      <summary>
            Gets the list of child commands to run within the scope of this command.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.Dependencies">
      <summary>
            Gets the list of other commands that this command depends upon.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ITestCommand.GetAllCommands">
      <summary>
            Gets a list consisting of this command and all of its descendants as
            enumerated by pre-order tree traversal.
            </summary>
      <returns>The list of all command.</returns>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.IsExplicit">
      <summary>
            Returns true if the test was explicitly selected by a filter.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.PreOrderTraversal">
      <summary>
            Enumerates this command and all of its descendants in pre-order tree
            traversal.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.RootStepFailureCount">
      <summary>
            Gets the number of times that a root step of this test has failed.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ITestCommand.StartPrimaryChildStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts the primary step of the test associated with this command as a child
            of the specified test step and returns its test context.
            </summary>
      <param name="parentTestStep">The parent test step, or null if none.</param>
      <returns>The test context for the new primary test step.</returns>
    </member>
    <member name="M:Gallio.Model.Commands.ITestCommand.StartStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts a new step of the test using the specified test step object.
            </summary>
      <param name="testStep">The test step to start.</param>
      <returns>The test context for the test step.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testStep" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="testStep" /> does not
            belong to the test associated with this test command.</exception>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.Test">
      <summary>
            Gets the test that is to be executed.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ITestCommand.TestCount">
      <summary>
            Gets the total number of tests in the command subtree, including itself.
            </summary>
    </member>
    <member name="T:Gallio.Model.Commands.ITestCommandFactory">
      <summary>
            Generates test commands from a tree of tests.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ITestCommandFactory.BuildCommands(Gallio.Model.Tree.TestModel,Gallio.Model.Filters.FilterSet{Gallio.Model.Filters.ITestDescriptor},System.Boolean,Gallio.Model.Contexts.ITestContextManager)">
      <summary>
            Recursively builds a tree of test commands.
            </summary>
      <param name="testModel">The test model.</param>
      <param name="filterSet">The filter set for the test model.</param>
      <param name="exactFilter">If true, only the specified tests are included, otherwise children
            of the selected tests are automatically included.</param>
      <param name="contextManager">The test context manager.</param>
      <returns>The root test command or null if none of the tests in
            the subtree including <paramref name="testModel" /> matched the filter.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModel" />,
            <paramref name="filterSet" /> or <paramref name="contextManager" /> is null.</exception>
      <exception cref="T:Gallio.Model.ModelException">Thrown if an invalid test dependency is found.</exception>
    </member>
    <member name="T:Gallio.Model.Commands.ManagedTestCommand">
      <summary>
            A <see cref="T:Gallio.Model.Commands.ITestCommand" /> implementation based on a <see cref="T:Gallio.Model.Contexts.ITestContextManager" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.#ctor(Gallio.Model.Contexts.ITestContextManager,Gallio.Model.Tree.Test,System.Boolean)">
      <summary>
            Creates a test command.
            </summary>
      <param name="contextManager">The test context manager.</param>
      <param name="test">The test.</param>
      <param name="isExplicit">True if the test is being executed explicitly.</param>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.AddChild(Gallio.Model.Commands.ManagedTestCommand)">
      <summary>
            Adds a child test command.
            </summary>
      <param name="child">The child to add.</param>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.AddDependency(Gallio.Model.Commands.ManagedTestCommand)">
      <summary>
            Adds a test command dependency.
            </summary>
      <param name="dependency">The dependency to add.</param>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.AreDependenciesSatisfied">
      <summary>
            Returns true if all of the dependencies of this test command have
            been satisfied including transitive dependencies.
            </summary>
      <returns>True if the dependencies of this test command have been satisfied.</returns>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.Children">
      <summary>
            Gets the list of child commands to run within the scope of this command.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.ChildrenToArray">
      <summary>
            Gets the list of children as an array.
            </summary>
      <returns>The array of children.</returns>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.ClearChildren">
      <summary>
            Clears the children of the command.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.Dependencies">
      <summary>
            Gets the list of other commands that this command depends upon.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.GetAllCommands">
      <summary>
            Gets a list consisting of this command and all of its descendants as
            enumerated by pre-order tree traversal.
            </summary>
      <returns>The list of all command.</returns>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.IsExplicit">
      <summary>
            Returns true if the test was explicitly selected by a filter.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.PreOrderTraversal">
      <summary>
            Enumerates this command and all of its descendants in pre-order tree
            traversal.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.RootStepFailureCount">
      <summary>
            Gets the number of times that a root step of this test has failed.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.StartPrimaryChildStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts the primary step of the test associated with this command as a child
            of the specified test step and returns its test context.
            </summary>
      <param name="parentTestStep">The parent test step, or null if none.</param>
      <returns>The test context for the new primary test step.</returns>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.StartStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts a new step of the test using the specified test step object.
            </summary>
      <param name="testStep">The test step to start.</param>
      <returns>The test context for the test step.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testStep" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="testStep" /> does not
            belong to the test associated with this test command.</exception>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.Test">
      <summary>
            Gets the test that is to be executed.
            </summary>
    </member>
    <member name="P:Gallio.Model.Commands.ManagedTestCommand.TestCount">
      <summary>
            Gets the total number of tests in the command subtree, including itself.
            </summary>
    </member>
    <member name="M:Gallio.Model.Commands.ManagedTestCommand.ToString">
      <summary>
            Returns a description of the test command for debugging purposes.
            </summary>
      <returns>A description of the test command.</returns>
    </member>
    <member name="T:Gallio.Model.Contexts.DefaultTestContextTracker">
      <summary>
            The default context tracker tracks the current context by way
            of the thread's <see cref="T:System.Threading.ExecutionContext" /> and <see cref="T:System.Runtime.Remoting.Messaging.CallContext" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.DefaultTestContextTracker.#ctor">
      <summary>
            Initializes the context tracker.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.DefaultTestContextTracker.CurrentContext">
      <summary>
            Gets the context of the current thread, or null if there is no
            current context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.DefaultTestContextTracker.EnterContext(Gallio.Model.Contexts.ITestContext)">
      <summary>
            Enters a context.
            </summary>
      <param name="context">The context to enter, or null to enter a scope without a context.</param>
      <returns>A cookie that can be used to restore the current thread's context to its previous value when disposed.</returns>
    </member>
    <member name="M:Gallio.Model.Contexts.DefaultTestContextTracker.GetThreadDefaultContext(System.Threading.Thread)">
      <summary>
            Gets the default context for the specified thread.
            </summary>
      <param name="thread">The thread.</param>
      <returns>The default context of the thread.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="thread" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.DefaultTestContextTracker.GlobalContext">
      <summary>
            Gets or the global context of the environment, or null if there is no
            such context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.DefaultTestContextTracker.SetThreadDefaultContext(System.Threading.Thread,Gallio.Model.Contexts.ITestContext)">
      <summary>
            Sets the default context for the specified thread.
            </summary>
      <param name="thread">The thread.</param>
      <param name="context">The context to associate with the thread, or null to reset the
            thread's default context to inherit the <see cref="P:Gallio.Model.Contexts.ITestContextTracker.GlobalContext" /> once again.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="thread" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Contexts.ITestContext">
      <summary>
            The context provides information about the environment in which
            a test is executing.  A new context is created each time a test or
            test step begins execution.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContext.AddAssertCount(System.Int32)">
      <summary>
            Adds the specified amount to the assert count atomically.
            </summary>
      <param name="value">The amount to add to the assert count.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if the test is not running.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContext.AddMetadata(System.String,System.String)">
      <summary>
            Adds metadata to the step that is running in the context.
            </summary>
      <param name="metadataKey">The metadata key.</param>
      <param name="metadataValue">The metadata value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="metadataKey" />
            or <paramref name="metadataValue" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the test is not running.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.AssertCount">
      <summary>
            Gets the current assertion count.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContext.BecomeMultiThreadAware">
      <summary>
            This method informs the test context that it may be finished on a
            different thread than it started.  This changes how the test context
            will exit when finished.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.Data">
      <summary>
            Gets the user data collection associated with the context.
            </summary>
    </member>
    <member name="E:Gallio.Model.Contexts.ITestContext.Finishing">
      <summary>
            The <see cref="E:Gallio.Model.Contexts.ITestContext.Finishing" /> event is raised when the test step
            is finishing to perform resource reclamation or other updates.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContext.FinishStep(Gallio.Model.TestOutcome,System.Nullable{System.TimeSpan})">
      <summary>
            Finishes a step and submits its final result.
            </summary>
      <param name="outcome">The final test outcome.</param>
      <param name="actualDuration">The actual duration of the step, if null the step monitor
            will record the duration as the total amount of time since the step monitor was started.</param>
      <returns>The final test result.</returns>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.IsFinished">
      <summary>
            Returns true if the step associated with the context has finished execution
            and completed all <see cref="E:Gallio.Model.Contexts.ITestContext.Finishing" /> actions.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.LifecyclePhase">
      <summary>
            Gets or sets the lifecycle phase the context is in.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if attempting to set the phase while the test is not running.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.LogWriter">
      <summary>
            Gets the log writer for the test executing in this context.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.MessageSink">
      <summary>
            Gets the message sink to which custom test messages may be published.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.Outcome">
      <summary>
            Gets the step's outcome or its interim outcome if the test is still running.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.Parent">
      <summary>
            Gets the parent context or null if this context has no parent.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.Result">
      <summary>
            Gets the final test result or null if the test has not yet finished running.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContext.SetInterimOutcome(Gallio.Model.TestOutcome)">
      <summary>
            Sets the step's interim <see cref="P:Gallio.Model.Contexts.ITestContext.Outcome" />.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if attempting to set the outcome while the test is not running.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContext.StartChildStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts a child step of the test and returns its context.
            </summary>
      <param name="childStep">The step to start.</param>
      <returns>The context of the child step.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the step has finished.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="childStep" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="childStep" /> is not a child
            of the this step.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContext.TestStep">
      <summary>
            Gets the test step associated with the context.
            </summary>
    </member>
    <member name="T:Gallio.Model.Contexts.ITestContextManager">
      <summary>
            A test context manager provides access to the <see cref="T:Gallio.Model.Contexts.ITestContextTracker" />
            and creates new <see cref="T:Gallio.Model.Contexts.ITestContext" />s with the help of the tracker.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContextManager.ContextTracker">
      <summary>
            Gets the test context tracker.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContextManager.StartStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts a test step and returns its associated test context.
            </summary>
      <param name="testStep">The test step.</param>
      <returns>The test context associated with the test step.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testStep" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Contexts.ITestContextTracker">
      <summary>
            The context tracker tracks the <see cref="T:Gallio.Model.Contexts.ITestContext" /> associated with threads.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContextTracker.CurrentContext">
      <summary>
            Gets the context of the current thread, or null if there is no
            current context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContextTracker.EnterContext(Gallio.Model.Contexts.ITestContext)">
      <summary>
            Enters a context.
            </summary>
      <param name="context">The context to enter, or null to enter a scope without a context.</param>
      <returns>A cookie that can be used to restore the current thread's context to its previous value when disposed.</returns>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContextTracker.GetThreadDefaultContext(System.Threading.Thread)">
      <summary>
            Gets the default context for the specified thread.
            </summary>
      <param name="thread">The thread.</param>
      <returns>The default context of the thread.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="thread" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.ITestContextTracker.GlobalContext">
      <summary>
            Gets or the global context of the environment, or null if there is no
            such context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ITestContextTracker.SetThreadDefaultContext(System.Threading.Thread,Gallio.Model.Contexts.ITestContext)">
      <summary>
            Sets the default context for the specified thread.
            </summary>
      <param name="thread">The thread.</param>
      <param name="context">The context to associate with the thread, or null to reset the
            thread's default context to inherit the <see cref="P:Gallio.Model.Contexts.ITestContextTracker.GlobalContext" /> once again.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="thread" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Contexts.ObservableTestContextManager">
      <summary>
            An observable test context manager creates and tracks test contexts and
            publishes test messages back to a <see cref="T:Gallio.Common.Messaging.IMessageSink" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestContextManager.#ctor(Gallio.Model.Contexts.ITestContextTracker,Gallio.Common.Messaging.IMessageSink)">
      <summary>
            Creates a test context manager.
            </summary>
      <param name="contextTracker">The test context tracker.</param>
      <param name="messageSink">The message sink to which test message are published.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="contextTracker" />
            or <paramref name="messageSink" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.ObservableTestContextManager.ContextTracker">
      <summary>
            Gets the test context tracker.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.ObservableTestContextManager.MessageSink">
      <summary>
            Gets the message sink to which test messages are published.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestContextManager.StartStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts a test step and returns its associated test context.
            </summary>
      <param name="testStep">The test step.</param>
      <returns>The test context associated with the test step.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testStep" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Contexts.ObservableTestLogWriter">
      <summary>
            A log writer that sends messages to a <see cref="T:Gallio.Common.Messaging.IMessageSink" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.#ctor(Gallio.Common.Messaging.IMessageSink,System.String)">
      <summary>
            Creates a log writer.
            </summary>
      <param name="messageSink">The test listener to which test messages are published.</param>
      <param name="stepId">The step id.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="messageSink" /> or
            <paramref name="stepId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.AttachImpl(Gallio.Common.Markup.Attachment)">
      <summary>
            Adds an attachment to the markup document.
            </summary>
      <param name="attachment">The attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is already an attachment
            with the same name.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.CloseImpl">
      <summary>
            Closes the markup document writer.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.StreamBeginMarkerImpl(System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Begins a marked region in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="marker">The marker.</param>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.StreamBeginSectionImpl(System.String,System.String)">
      <summary>
            Begins a section in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="sectionName">The name of the section to begin, never null.</param>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.StreamEmbedImpl(System.String,System.String)">
      <summary>
            Embeds an attachment into a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="attachmentName">The name of the attachment to write, never null.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if no attachment with the specified
            name has been previously attached.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.StreamEndImpl(System.String)">
      <summary>
            Ends the current region started with one of the Begin* methods in a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no current nested region.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.ObservableTestLogWriter.StreamWriteImpl(System.String,System.String)">
      <summary>
            Writes a text string to a markup stream.
            </summary>
      <param name="streamName">The markup stream name.</param>
      <param name="text">The text to write, never null.</param>
    </member>
    <member name="T:Gallio.Model.Contexts.StubTestContext">
      <summary>
            A stub implementation of <see cref="T:Gallio.Common.Markup.TextualMarkupDocumentWriter" /> using a <see cref="T:Gallio.Model.Contexts.StubTestContextTracker" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.#ctor">
      <summary>
            Creates a stub context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.AddAssertCount(System.Int32)">
      <summary>
            Adds the specified amount to the assert count atomically.
            </summary>
      <param name="value">The amount to add to the assert count.</param>
      <exception cref="T:System.InvalidOperationException">Thrown if the test is not running.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.AddMetadata(System.String,System.String)">
      <summary>
            Adds metadata to the step that is running in the context.
            </summary>
      <param name="metadataKey">The metadata key.</param>
      <param name="metadataValue">The metadata value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="metadataKey" />
            or <paramref name="metadataValue" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the test is not running.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.AssertCount">
      <summary>
            Gets the current assertion count.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.BecomeMultiThreadAware">
      <summary>
            This method informs the test context that it may be finished on a
            different thread than it started.  This changes how the test context
            will exit when finished.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.Data">
      <summary>
            Gets the user data collection associated with the context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="E:Gallio.Model.Contexts.StubTestContext.Finishing">
      <summary>
            The <see cref="E:Gallio.Model.Contexts.ITestContext.Finishing" /> event is raised when the test step
            is finishing to perform resource reclamation or other updates.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.FinishStep(Gallio.Model.TestOutcome,System.Nullable{System.TimeSpan})">
      <summary>
            Finishes a step and submits its final result.
            </summary>
      <param name="outcome">The final test outcome.</param>
      <param name="actualDuration">The actual duration of the step, if null the step monitor
            will record the duration as the total amount of time since the step monitor was started.</param>
      <returns>The final test result.</returns>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.IsFinished">
      <summary>
            Returns true if the step associated with the context has finished execution
            and completed all <see cref="E:Gallio.Model.Contexts.ITestContext.Finishing" /> actions.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.LifecyclePhase">
      <summary>
            Gets or sets the lifecycle phase the context is in.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if attempting to set the phase while the test is not running.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.LogWriter">
      <summary>
            Gets the log writer for the test executing in this context.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.MessageSink">
      <summary>
            Gets the message sink to which custom test messages may be published.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.Outcome">
      <summary>
            Gets the step's outcome or its interim outcome if the test is still running.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.Parent">
      <summary>
            Gets the parent context or null if this context has no parent.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.Result">
      <summary>
            Gets the final test result or null if the test has not yet finished running.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.SetInterimOutcome(Gallio.Model.TestOutcome)">
      <summary>
            Sets the step's interim <see cref="P:Gallio.Model.Contexts.ITestContext.Outcome" />.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if attempting to set the outcome while the test is not running.</exception>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContext.StartChildStep(Gallio.Model.Tree.TestStep)">
      <summary>
            Starts a child step of the test and returns its context.
            </summary>
      <param name="childStep">The step to start.</param>
      <returns>The context of the child step.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if the step has finished.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="childStep" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="childStep" /> is not a child
            of the this step.</exception>
    </member>
    <member name="P:Gallio.Model.Contexts.StubTestContext.TestStep">
      <summary>
            Gets the test step associated with the context.
            </summary>
    </member>
    <member name="T:Gallio.Model.Contexts.StubTestContextTracker">
      <summary>
            The stub context tracker is a dummy implementation of <see cref="T:Gallio.Model.Contexts.ITestContextTracker" />
            that is used in situations where the runtime environment has not been initialized.
            </summary>
    </member>
    <member name="M:Gallio.Model.Contexts.StubTestContextTracker.#ctor">
      <summary>
            Creates a stub context tracker.
            </summary>
    </member>
    <member name="T:Gallio.Model.Contexts.TestContextTrackerAccessor">
      <summary>
            Static service locator for <see cref="T:Gallio.Model.Contexts.StubTestContextTracker" />.
            </summary>
    </member>
    <member name="P:Gallio.Model.Contexts.TestContextTrackerAccessor.Instance">
      <summary>
            Gets the global test context tracker singleton.
            </summary>
    </member>
    <member name="T:Gallio.Model.Environments.BaseTestEnvironment">
      <summary>
            Base implementation of a test environment.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.BaseTestEnvironment.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Environments.BaseTestEnvironment" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Environments.BaseTestEnvironment.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Environments.BaseTestEnvironment.SetUpThread">
      <summary>
            Sets up the current test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.ConsoleTestEnvironment">
      <summary>
            Sets up console I/O streams.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.ConsoleTestEnvironment.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Environments.ConsoleTestEnvironment" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Environments.ConsoleTestEnvironment.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.ContextualLogTextWriter">
      <summary>
            A contextual log text writer messages to a named log stream in the log associated
            with the test execution context that is active at the time each message is written.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTextWriter.#ctor(System.String)">
      <summary>
            Creates a text writer that writes to the specified execution log stream.
            </summary>
      <param name="streamName">The execution log stream name.</param>
    </member>
    <member name="P:Gallio.Model.Environments.ContextualLogTextWriter.Encoding">
      <summary>
                    When overridden in a derived class, returns the <see cref="T:System.Text.Encoding" /> in which the output is written.
                </summary>
      <returns>
                    The Encoding in which the output is written.
                </returns>
    </member>
    <member name="P:Gallio.Model.Environments.ContextualLogTextWriter.NewLine">
      <summary>
                    Gets or sets the line terminator string used by the current TextWriter.
                </summary>
      <returns>
                    The line terminator string for the current TextWriter.
                </returns>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTextWriter.Write(System.Char)">
      <summary>
                    Writes a character to the text stream.
                </summary>
      <param name="value">
                    The character to write to the text stream. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTextWriter.Write(System.Char[],System.Int32,System.Int32)">
      <summary>
                    Writes a subarray of characters to the text stream.
                </summary>
      <param name="buffer">
                    The character array to write data from. 
                </param>
      <param name="index">
                    Starting index in the buffer. 
                </param>
      <param name="count">
                    The number of characters to write. 
                </param>
      <exception cref="T:System.ArgumentException">
                    The buffer length minus <paramref name="index" /> is less than <paramref name="count" />. 
                </exception>
      <exception cref="T:System.ArgumentNullException">
                    The <paramref name="buffer" /> parameter is null. 
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> or <paramref name="count" /> is negative. 
                </exception>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTextWriter.Write(System.String)">
      <summary>
                    Writes a string to the text stream.
                </summary>
      <param name="value">
                    The string to write. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="T:Gallio.Model.Environments.ContextualLogTraceListener">
      <summary>
            A contextual log trace listener messages to a named log stream in the log associated
            with the test execution context that is active at the time each message is written.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTraceListener.#ctor(System.String)">
      <summary>
            Creates a trace listener that writes to the specified execution log stream.
            </summary>
      <param name="streamName">The execution log stream name.</param>
    </member>
    <member name="P:Gallio.Model.Environments.ContextualLogTraceListener.IsThreadSafe">
      <summary>
                    Gets a value indicating whether the trace listener is thread safe. 
                </summary>
      <returns>true if the trace listener is thread safe; otherwise, false. The default is false.
                </returns>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTraceListener.Write(System.String)">
      <summary>
                    When overridden in a derived class, writes the specified message to the listener you create in the derived class.
                </summary>
      <param name="message">
                    A message to write. 
                </param>
    </member>
    <member name="M:Gallio.Model.Environments.ContextualLogTraceListener.WriteLine(System.String)">
      <summary>
                    When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator.
                </summary>
      <param name="message">
                    A message to write. 
                </param>
    </member>
    <member name="T:Gallio.Model.Environments.DefaultTestEnvironmentManager">
      <summary>
            Default implementation of a test environment manager.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.DefaultTestEnvironmentManager.#ctor(Gallio.Model.Environments.ITestEnvironment[])">
      <summary>
            Creates a test environment manager.
            </summary>
      <param name="environments">The environments, not null.</param>
    </member>
    <member name="M:Gallio.Model.Environments.DefaultTestEnvironmentManager.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Environments.DefaultTestEnvironmentManager.SetUpThread">
      <summary>
            Sets up the current test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.ITestEnvironment">
      <summary>
            The test environment configures global behavior related to preparing
            the test execution environment for running tests and tearing them down.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.ITestEnvironment.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Environments.ITestEnvironment.SetUpThread">
      <summary>
            Sets up the current test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.ITestEnvironmentManager">
      <summary>
            The test environment manager configures test AppDomains and threads.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.ITestEnvironmentManager.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Environments.ITestEnvironmentManager.SetUpThread">
      <summary>
            Sets up the current test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.TestEnvironmentAwareThreadTask">
      <summary>
            A thread task that uses the <see cref="T:Gallio.Model.Environments.ITestEnvironmentManager" /> to configure
            the test environment for the thread.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.TestEnvironmentAwareThreadTask.#ctor(System.String,Gallio.Common.Action,Gallio.Model.Environments.ITestEnvironmentManager)">
      <summary>
            Creates a task that will execute code within a new locally running thread
            test thread and a configured test environemnt.
            When the task terminates successfully, its result will contain the value <c>null</c>.
            </summary>
      <param name="name">The name of the task.</param>
      <param name="action">The action to perform within the thread.</param>
      <param name="environmentManager">The test environment manager, or null to use the default environment manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> 
            or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Environments.TestEnvironmentAwareThreadTask.#ctor(System.String,Gallio.Common.Func{System.Object},Gallio.Model.Environments.ITestEnvironmentManager)">
      <summary>
            Creates a task that will execute code within a new locally running thread
            test thread and a configured test environemnt.
            When the task terminates successfully, its result will contain the value
            returned by <paramref name="func" />.
            </summary>
      <param name="name">The name of the task.</param>
      <param name="func">The function to perform within the thread.</param>
      <param name="environmentManager">The test environment manager, or null to use the default environment manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> 
            or <paramref name="func" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Environments.TestEnvironmentAwareThreadTask.AfterTask">
      <summary>
            Performs an action within the thread after the task's main action runs.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.TestEnvironmentAwareThreadTask.BeforeTask">
      <summary>
            Performs an action within the thread before the task's main action runs.
            </summary>
    </member>
    <member name="T:Gallio.Model.Environments.TestEnvironmentTraits">
      <summary>
            Specifies traits for <see cref="T:Gallio.Model.Environments.ITestEnvironment" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.TestEnvironmentTraits.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Environments.TestEnvironmentTraits" /> class</summary>
    </member>
    <member name="T:Gallio.Model.Environments.TraceTestEnvironment">
      <summary>
            Sets up trace listeners.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.TraceTestEnvironment.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Environments.TraceTestEnvironment" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Environments.TraceTestEnvironment.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.UnhandledExceptionTestEnvironment">
      <summary>
            Logs unhandled exceptions instead of killing the AppDomain.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.UnhandledExceptionTestEnvironment.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Environments.UnhandledExceptionTestEnvironment" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Environments.UnhandledExceptionTestEnvironment.SetUpAppDomain">
      <summary>
            Sets up the current test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Environments.WindowsFormsTestEnvironment">
      <summary>
            Ensures Windows Forms applications can be tested safely.
            </summary>
    </member>
    <member name="M:Gallio.Model.Environments.WindowsFormsTestEnvironment.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Environments.WindowsFormsTestEnvironment" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Environments.WindowsFormsTestEnvironment.SetUpThread">
      <summary>
            Sets up the current test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the test environment to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Filters.AndFilter`1">
      <summary>
            A filter combinator that matches a value when all of its constituent filters
            match the value.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.AndFilter`1.#ctor(System.Collections.Generic.ICollection{Gallio.Model.Filters.Filter{`0}})">
      <summary>
            Creates an AND-filter.
            </summary>
      <param name="filters">The filters that must all jointly be matched.
            If the list is empty, the filter matches everything.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.AndFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="P:Gallio.Model.Filters.AndFilter`1.Filters">
      <summary>
            Gets the filters that must jointly be matched.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.AndFilter`1.IsMatch(`0)"></member>
    <member name="M:Gallio.Model.Filters.AndFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.AnyFilter`1">
      <summary>
            A filter that matches anything and always returns true.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.AnyFilter`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Filters.AnyFilter`1" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Filters.AnyFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="M:Gallio.Model.Filters.AnyFilter`1.IsMatch(`0)"></member>
    <member name="M:Gallio.Model.Filters.AnyFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.AssemblyFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.CodeElement" />
            matches the specified assembly name filter.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.AssemblyFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates an assembly filter.
            </summary>
      <param name="assemblyNameFilter">A filter for the assembly name that is used
            to match one of the following values:
            <list type="bullet"><item>Full name as returned by <see cref="P:System.Reflection.Assembly.FullName" />.</item><item>Simple name (aka. partial name) as returned by <see cref="P:System.Reflection.AssemblyName.Name" />.</item></list></param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyNameFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.AssemblyFilter`1.IsMatch(`0)"></member>
    <member name="P:Gallio.Model.Filters.AssemblyFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.AssemblyFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.EqualityFilter`1">
      <summary>
            An equality filter compares values for strict equality.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.EqualityFilter`1.#ctor(`0)">
      <summary>
            Creates an equality filter.
            </summary>
      <param name="comparand">The value to compare for equality.</param>
    </member>
    <member name="M:Gallio.Model.Filters.EqualityFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="P:Gallio.Model.Filters.EqualityFilter`1.Comparand">
      <summary>
            Gets the value to compare for equality.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.EqualityFilter`1.IsMatch(`0)"></member>
    <member name="M:Gallio.Model.Filters.EqualityFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.Filter`1">
      <summary>
            A filter is a serializable predicate.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.Filter`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Filters.Filter`1" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Filters.Filter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="M:Gallio.Model.Filters.Filter`1.IsMatch(`0)">
      <summary>
            Determines whether the filter matches the value.
            </summary>
      <param name="value">The value to consider, never null.</param>
      <returns>True if the filter matches the value.</returns>
    </member>
    <member name="M:Gallio.Model.Filters.Filter`1.ToFilterExpr">
      <summary>
            Formats the filter to a string suitable for parsing by <see cref="T:Gallio.Model.Filters.FilterParser`1" />.
            </summary>
      <returns>The formatted filter expression.</returns>
    </member>
    <member name="T:Gallio.Model.Filters.FilterFormatter">
      <summary>
            Formats filters in such manner that they can be reparsed using the
            <see cref="T:Gallio.Model.Filters.FilterParser`1" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Filters.FilterFormatter" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.ToString">
      <summary>
            Gets the formatted filter contents.
            </summary>
      <returns>The formatted filter.</returns>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitAndFilter``1(Gallio.Model.Filters.AndFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.AndFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitAnyFilter``1(Gallio.Model.Filters.AnyFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.AnyFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitEqualityFilter``1(Gallio.Model.Filters.EqualityFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.EqualityFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitNoneFilter``1(Gallio.Model.Filters.NoneFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.NoneFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitNotFilter``1(Gallio.Model.Filters.NotFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.NotFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitOrFilter``1(Gallio.Model.Filters.OrFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.OrFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitPropertyFilter``1(Gallio.Model.Filters.PropertyFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.PropertyFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterFormatter.VisitRegexFilter(Gallio.Model.Filters.RegexFilter)">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.RegexFilter" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="T:Gallio.Model.Filters.FilterParseException">
      <summary>
            The type of exception thrown when a filter cannot be parsed.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParseException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParseException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParseException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Model.Filters.FilterParser`1">
      <summary>
            A filter parser constructs filters from its textual representation as a filter
            expression. 
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParser`1.#ctor(Gallio.Model.Filters.IFilterFactory{`0})">
      <summary>
            Creates a filter parser.
            </summary>
      <param name="factory">The factory to use for constructing
            filters based on filter keys and a filter rule for matching string values.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParser`1.ParseFilter(System.String)">
      <summary>
            Creates a filter from its textual representation as a filter expression.
            </summary>
      <param name="filterExpr">The filter expression.</param>
      <returns>The parsed filter.</returns>
    </member>
    <member name="M:Gallio.Model.Filters.FilterParser`1.ParseFilterSet(System.String)">
      <summary>
            Creates a filter set from its textual representation as a filter set expression
            consisting of inclusion and exclusion rules.
            </summary>
      <param name="filterSetExpr">The filter set expression.</param>
      <returns>The parsed filter set.</returns>
    </member>
    <member name="T:Gallio.Model.Filters.FilterRule`1">
      <summary>
            Specifies an inclusion or exclusion filter rule.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterRule`1.#ctor(Gallio.Model.Filters.FilterRuleType,Gallio.Model.Filters.Filter{`0})">
      <summary>
            Creates a filter rule.
            </summary>
      <param name="ruleType">The rule type: inclusion or exclusion.</param>
      <param name="filter">The filter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filter" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Filters.FilterRule`1.Filter">
      <summary>
            Gets the filter.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.FilterRule`1.RuleType">
      <summary>
            Gets the filter rule type: inclusion or exclusion.
            </summary>
    </member>
    <member name="T:Gallio.Model.Filters.FilterRuleType">
      <summary>
            Specifies whether a filter rule is an inclusion or exclusion rule.
            </summary>
    </member>
    <member name="F:Gallio.Model.Filters.FilterRuleType.Inclusion">
      <summary>
            The filter rule is an inclusion rule.
            </summary>
    </member>
    <member name="F:Gallio.Model.Filters.FilterRuleType.Exclusion">
      <summary>
            The filter rule is an exclusion rule.
            </summary>
    </member>
    <member name="T:Gallio.Model.Filters.FilterSet`1">
      <summary>
            A filterset combines zero or more filters as a sequence of inclusion and exclusion rules.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterSet`1.#ctor(Gallio.Model.Filters.Filter{`0})">
      <summary>
            Creates a filter set consisting of a single inclusion filter.
            </summary>
      <param name="inclusionFilter">The inclusion filter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="inclusionFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.FilterSet`1.#ctor(System.Collections.Generic.ICollection{Gallio.Model.Filters.FilterRule{`0}})">
      <summary>
            Creates a filter set consisting of a collection of rules.
            </summary>
      <param name="rules">The filter rules.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="rules" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Filters.FilterSet`1.Empty">
      <summary>
            Returns an empty filter set.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterSet`1.Evaluate(`0)">
      <summary>
            Evaluates the rules of this filter set and indicates whether the item is included, excluded
            or not matched by the list of rules.
            </summary>
      <param name="item">The item.</param>
      <returns>The result.</returns>
    </member>
    <member name="P:Gallio.Model.Filters.FilterSet`1.HasInclusionRules">
      <summary>
            Returns true if the filter set has at least one inclusion rule.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.FilterSet`1.IsEmpty">
      <summary>
            Returns true if the filter set is empty.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.FilterSet`1.Rules">
      <summary>
            Gets the read-only list of filter rules.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterSet`1.ToFilterSetExpr">
      <summary>
            Formats the filter set to a string suitable for parsing by <see cref="T:Gallio.Model.Filters.FilterParser`1" />.
            </summary>
      <returns>The formatted filter set expression.</returns>
    </member>
    <member name="M:Gallio.Model.Filters.FilterSet`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.FilterSetResult">
      <summary>
            Specifies whether a filter set includes, excludes or does not match a particular item.
            </summary>
    </member>
    <member name="F:Gallio.Model.Filters.FilterSetResult.Unmatched">
      <summary>
            The filter set neither includes nor excludes the item.
            </summary>
    </member>
    <member name="F:Gallio.Model.Filters.FilterSetResult.Include">
      <summary>
            The filter set includes the item.
            </summary>
    </member>
    <member name="F:Gallio.Model.Filters.FilterSetResult.Exclude">
      <summary>
            The filter set excludes the item.
            </summary>
    </member>
    <member name="T:Gallio.Model.Filters.FilterUtils">
      <summary>
            Provides utilities for manipulating filters.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.FilterUtils.ParseTestFilter(System.String)">
      <summary>
            Parses a test filter.
            </summary>
      <param name="filterExpr">The filter expression.</param>
      <returns>The parsed filter.</returns>
    </member>
    <member name="M:Gallio.Model.Filters.FilterUtils.ParseTestFilterSet(System.String)">
      <summary>
            Parses a test filter set.
            </summary>
      <param name="filterExpr">The filter expression.</param>
      <returns>The parsed filter set.</returns>
    </member>
    <member name="T:Gallio.Model.Filters.IdFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.Id" />
            matches the specified id filter.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.IdFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates an identity filter.
            </summary>
      <param name="idFilter">A filter for the id.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="idFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.IdFilter`1.IsMatch(`0)"></member>
    <member name="P:Gallio.Model.Filters.IdFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.IdFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.IFilterFactory`1">
      <summary>
            Creates filters of a given type based on a specification that
            consists of a filter key and a rule for matching values.
            </summary>
      <typeparam name="T">The filter type.</typeparam>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterFactory`1.CreateFilter(System.String,Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a filter from a specification 
            </summary>
      <param name="key">The filter key that identifies the kind of filter to create.</param>
      <param name="valueFilter">The filter to use as a rule for matching values.</param>
      <returns>The filter.</returns>
    </member>
    <member name="T:Gallio.Model.Filters.IFilterVisitor">
      <summary>
            Visits the structure of filters.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitAndFilter``1(Gallio.Model.Filters.AndFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.AndFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitAnyFilter``1(Gallio.Model.Filters.AnyFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.AnyFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitEqualityFilter``1(Gallio.Model.Filters.EqualityFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.EqualityFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitNoneFilter``1(Gallio.Model.Filters.NoneFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.NoneFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitNotFilter``1(Gallio.Model.Filters.NotFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.NotFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitOrFilter``1(Gallio.Model.Filters.OrFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.OrFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitPropertyFilter``1(Gallio.Model.Filters.PropertyFilter{``0})">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.PropertyFilter`1" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="M:Gallio.Model.Filters.IFilterVisitor.VisitRegexFilter(Gallio.Model.Filters.RegexFilter)">
      <summary>
            Visits a <see cref="T:Gallio.Model.Filters.RegexFilter" />.
            </summary>
      <param name="filter">The filter.</param>
    </member>
    <member name="T:Gallio.Model.Filters.ITestDescriptor">
      <summary>
            Describes characteristics of a test.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.ITestDescriptor.CodeElement">
      <summary>
            Gets the code element associated with the test, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.ITestDescriptor.Id">
      <summary>
            Gets the test id.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.ITestDescriptor.Metadata">
      <summary>
            Gets the test metadata.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.ITestDescriptor.Name">
      <summary>
            Gets the test name.
            </summary>
    </member>
    <member name="T:Gallio.Model.Filters.MemberFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.CodeElement" />
            matches the specified member name filter.  This filter should normally be used together with
            a <see cref="T:System.Reflection.TypeFilter" /> to ensure the accuracy of the member match.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.MemberFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a member filter.
            </summary>
      <param name="memberNameFilter">A filter for the member name as returned by <see cref="P:System.Reflection.MemberInfo.Name" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="memberNameFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.MemberFilter`1.IsMatch(`0)"></member>
    <member name="P:Gallio.Model.Filters.MemberFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.MemberFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.MetadataFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.Metadata" />
            has a key with a value that matches the value filter.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.MetadataFilter`1.#ctor(System.String,Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a metadata filter.
            </summary>
      <param name="key">The metadata key to look for.</param>
      <param name="valueFilter">A filter for the metadata value to match.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="valueFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.MetadataFilter`1.IsMatch(`0)"></member>
    <member name="P:Gallio.Model.Filters.MetadataFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.MetadataFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.NameFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.Name" />
            matches the specified name filter.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NameFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a name filter.
            </summary>
      <param name="nameFilter">A filter for the name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="nameFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.NameFilter`1.IsMatch(`0)">
      <summary>
            Determines whether the filter matches the value.
            </summary>
      <param name="value">The value to consider, never null.</param>
      <returns>True if the filter matches the value.</returns>
    </member>
    <member name="P:Gallio.Model.Filters.NameFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NameFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.NamespaceFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.CodeElement" />
            matches the specified namespace name.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NamespaceFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a namespace filter.
            </summary>
      <param name="namespaceNameFilter">A filter for the namespace name
            obtained via reflection on types.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="namespaceNameFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.NamespaceFilter`1.IsMatch(`0)"></member>
    <member name="P:Gallio.Model.Filters.NamespaceFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NamespaceFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.NoneFilter`1">
      <summary>
            A filter that matches nothing and always returns false.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NoneFilter`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Filters.NoneFilter`1" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Filters.NoneFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="M:Gallio.Model.Filters.NoneFilter`1.IsMatch(`0)"></member>
    <member name="M:Gallio.Model.Filters.NoneFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.NotFilter`1">
      <summary>
            A filter combinator that is the negation of another filter.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NotFilter`1.#ctor(Gallio.Model.Filters.Filter{`0})">
      <summary>
            Creates a NOT-filter.
            </summary>
      <param name="filter">The filter to be negated.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.NotFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="P:Gallio.Model.Filters.NotFilter`1.Filter">
      <summary>
            Gets the filter to be negated.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.NotFilter`1.IsMatch(`0)"></member>
    <member name="M:Gallio.Model.Filters.NotFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.OrFilter`1">
      <summary>
            A filter combinator that matches a value when at least one of its constituent filters
            matches the value.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.OrFilter`1.#ctor(System.Collections.Generic.ICollection{Gallio.Model.Filters.Filter{`0}})">
      <summary>
            Creates an OR-filter.
            </summary>
      <param name="filters">The filters from which at least one match must be found.
            If the list is empty, the filter matches everything.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filters" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.OrFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="P:Gallio.Model.Filters.OrFilter`1.Filters">
      <summary>
            Gets the filters from which at least one match must be found.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.OrFilter`1.IsMatch(`0)"></member>
    <member name="M:Gallio.Model.Filters.OrFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.PropertyFilter`1">
      <summary>
            Abstract base class for filters that encapsulate a rule
            for selecting some property of an object to be compared
            against a string value filter.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.PropertyFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a filter for some property by string value.
            </summary>
      <param name="valueFilter">The string value filter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="valueFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.PropertyFilter`1.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="P:Gallio.Model.Filters.PropertyFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="P:Gallio.Model.Filters.PropertyFilter`1.ValueFilter">
      <summary>
            Gets the string value filter.
            </summary>
    </member>
    <member name="T:Gallio.Model.Filters.RegexFilter">
      <summary>
            A regex filter matches strings against a given <see cref="P:Gallio.Model.Filters.RegexFilter.Regex" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.RegexFilter.#ctor(System.Text.RegularExpressions.Regex)">
      <summary>
            Creates an regex filter.
            </summary>
      <param name="regex">The regular expression for matching strings.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.RegexFilter.Accept(Gallio.Model.Filters.IFilterVisitor)">
      <summary>
            Accepts a visitor and performs double-dispatch.
            </summary>
      <param name="visitor">The visitor, never null.</param>
    </member>
    <member name="M:Gallio.Model.Filters.RegexFilter.IsMatch(System.String)">
      <summary>
            Determines whether the filter matches the value.
            </summary>
      <param name="value">The value to consider, never null.</param>
      <returns>True if the filter matches the value.</returns>
    </member>
    <member name="P:Gallio.Model.Filters.RegexFilter.Regex">
      <summary>
            Gets the regular expression for matching strings.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.RegexFilter.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Filters.TestDescriptorFilterFactory`1">
      <summary>
            Builds filters for <see cref="T:Gallio.Model.Filters.ITestDescriptor" /> objects.
            </summary>
      <typeparam name="T">The <see cref="T:Gallio.Model.Filters.ITestDescriptor" /> subtype.</typeparam>
    </member>
    <member name="M:Gallio.Model.Filters.TestDescriptorFilterFactory`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Filters.TestDescriptorFilterFactory`1" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Filters.TestDescriptorFilterFactory`1.CreateFilter(System.String,Gallio.Model.Filters.Filter{System.String})">
      <summary>
            Creates a filter from a specification 
            </summary>
      <param name="key">The filter key that identifies the kind of filter to create.</param>
      <param name="valueFilter">The filter to use as a rule for matching values.</param>
      <returns>The filter.</returns>
    </member>
    <member name="T:Gallio.Model.Filters.TypeFilter`1">
      <summary>
            A filter that matches objects whose <see cref="P:Gallio.Model.Filters.ITestDescriptor.CodeElement" />
            matches the specified type name.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.TypeFilter`1.#ctor(Gallio.Model.Filters.Filter{System.String},System.Boolean)">
      <summary>
            Creates a type filter.
            </summary>
      <param name="typeNameFilter">A filter to match the type name obtained via reflection
            on the type in one of the following ways:
            <list type="bullet"><item>Fully qualified by namespace and assembly as returned by <see cref="P:System.Type.AssemblyQualifiedName" /></item><item>Qualified by namespace as returned by <see cref="P:System.Type.FullName" /></item><item>Unqualified as returned by the type's <see cref="P:System.Reflection.MemberInfo.Name" /></item></list></param>
      <param name="includeDerivedTypes">If true, subclasses and interface implementations of the specified
            type are also matched by the filter if they can be located.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="typeNameFilter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Filters.TypeFilter`1.IsMatch(`0)"></member>
    <member name="P:Gallio.Model.Filters.TypeFilter`1.Key">
      <summary>
            Gets the key that represents the filtered property.
            </summary>
    </member>
    <member name="M:Gallio.Model.Filters.TypeFilter`1.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Helpers.DelegatingTestController">
      <summary>
            A test controller that recursively traverses a hierarchy of test commands and
            delegates to another test controller based on a <see cref="T:Gallio.Model.Helpers.TestControllerProvider" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.DelegatingTestController.#ctor(Gallio.Model.Helpers.TestControllerProvider)">
      <summary>
            Creates a recursive test controller.
            </summary>
      <param name="testControllerProvider">The test controller provider which provides
            the test controller to which the execution of a subtree of tests should be delegated.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testControllerProvider" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Model.Helpers.DelegatingTestController.RunImpl(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Implementation of <see cref="M:Gallio.Model.Helpers.TestController.Run(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" /> called after argument validation has taken place.
            </summary>
      <param name="rootTestCommand">The root test command, not null.</param>
      <param name="parentTestStep">The parent test step, or null if none.</param>
      <param name="options">The test execution options, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The combined result of the root test command.</returns>
    </member>
    <member name="T:Gallio.Model.Helpers.SimpleTestDriver">
      <summary>
            A simple test driver explores tests using a <see cref="T:Gallio.Model.Helpers.TestExplorer" />
            and runs them using a <see cref="T:Gallio.Model.Helpers.TestController" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Helpers.SimpleTestDriver" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.CreateTestCommandFactory">
      <summary>
            Creates a test command factory for generating <see cref="T:Gallio.Model.Commands.ITestCommand" />s from
            a <see cref="T:Gallio.Model.Tree.TestModel" />.
            </summary>
      <returns>The test command factory.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.CreateTestContextManager(Gallio.Common.Messaging.IMessageSink)">
      <summary>
            Creates a test context manager for tracking test context and publishing
            test messages to a message sink.
            </summary>
      <param name="messageSink">The message sink to which test messages are published.</param>
      <returns>The test command factory.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.CreateTestController">
      <summary>
            Creates a test controller to run tests.
            </summary>
      <returns>The test controller.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.CreateTestExplorer">
      <summary>
            Creates a test explorer to describe and explore tests.
            </summary>
      <returns>The test explorer.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.CreateTestHarness">
      <summary>
            Creates a test harness to configure the test environment.
            </summary>
      <returns>The test harness.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.DescribeImpl(Gallio.Common.Reflection.IReflectionPolicy,System.Collections.Generic.IList{Gallio.Common.Reflection.ICodeElementInfo},Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Describes tests via reflection over code elements.
            </summary>
      <param name="reflectionPolicy">The reflection policy, not null.</param>
      <param name="codeElements">The enumeration of code elements, usually <see cref="T:Gallio.Common.Reflection.ITypeInfo" />
            and <see cref="T:Gallio.Common.Reflection.IAssemblyInfo" /> objects, that might contain tests to be described, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink to receive test exploration messages, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.ExploreAssembly(System.Reflection.Assembly,Gallio.Model.TestExplorationOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests in an assembly.
            </summary>
      <param name="assembly">The test assembly, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="messageSink">The message sink, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="P:Gallio.Model.Helpers.SimpleTestDriver.FrameworkName">
      <summary>
            Gets the name of the framework as it should appear in progress messages.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.SimpleTestDriver.RunAssembly(System.Reflection.Assembly,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Messaging.IMessageSink,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs tests in an assembly.
            </summary>
      <param name="assembly">The test assembly, not null.</param>
      <param name="testExplorationOptions">The test exploration options, not null.</param>
      <param name="testExecutionOptions">The test execution options, not null.</param>
      <param name="messageSink">The message sink, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="T:Gallio.Model.Helpers.TestController">
      <summary>
            A test controller executes tests defined by a tree of <see cref="T:Gallio.Model.Commands.ITestCommand" />s.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestController.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Helpers.TestController" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestController.Dispose">
      <summary>
            Disposes the test controller.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestController.Dispose(System.Boolean)">
      <summary>
            Disposes the test controller.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Model.Helpers.TestController.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Model.Helpers.TestController.Run(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Runs the tests.
            </summary>
      <param name="rootTestCommand">The root test monitor.</param>
      <param name="parentTestStep">The parent test step, or null if starting a root step.</param>
      <param name="options">The test execution options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The combined result of the root test command.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="rootTestCommand" /><paramref name="progressMonitor" />, or <paramref name="options" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Helpers.TestController.RunImpl(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Implementation of <see cref="M:Gallio.Model.Helpers.TestController.Run(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" /> called after argument validation has taken place.
            </summary>
      <param name="rootTestCommand">The root test command, not null.</param>
      <param name="parentTestStep">The parent test step, or null if none.</param>
      <param name="options">The test execution options, not null.</param>
      <param name="progressMonitor">The progress monitor, not null.</param>
      <returns>The combined result of the root test command.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.TestController.SkipAll(Gallio.Model.Commands.ITestCommand,Gallio.Model.Tree.TestStep)">
      <summary>
            Recursively generates single test steps for each <see cref="T:Gallio.Model.Commands.ITestCommand" /> and
            sets the final outcome to <see cref="P:Gallio.Model.TestOutcome.Skipped" />.
            </summary>
      <param name="rootTestCommand">The root test command.</param>
      <param name="parentTestStep">The parent test step.</param>
      <returns>The combined result of the test commands.</returns>
    </member>
    <member name="T:Gallio.Model.Helpers.TestControllerProvider">
      <summary>
            Gets a test controller for a subtree of tests.
            </summary>
      <param name="test">The test.</param>
      <returns>The test controller or null if there is no specific controller
            available for the test so the test should be executed using a default rule.</returns>
    </member>
    <member name="T:Gallio.Model.Helpers.TestEnvironmentAwareTestHarness">
      <summary>
            A test harness implementation based on <see cref="T:Gallio.Model.Environments.ITestEnvironment" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestEnvironmentAwareTestHarness.#ctor(Gallio.Model.Environments.ITestEnvironmentManager)">
      <summary>
            Creates the test harness.
            </summary>
      <param name="testEnvironmentManager">The test environment manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testEnvironmentManager" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Helpers.TestEnvironmentAwareTestHarness.SetUpAppDomain">
      <summary>
            Sets up the test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the changes to be torn down, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.TestEnvironmentAwareTestHarness.SetUpThread">
      <summary>
            Sets up the test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the changes to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Helpers.TestExplorer">
      <summary>
            A test explorer generates a <see cref="P:Gallio.Model.Helpers.TestExplorer.TestModel" /> from test code.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Helpers.TestExplorer" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.CreateTestModel">
      <summary>
            Creates the <see cref="P:Gallio.Model.Helpers.TestExplorer.TestModel" />.
            </summary>
      <returns>The test model.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.Dispose">
      <summary>
            Disposes the test explorer.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.Dispose(System.Boolean)">
      <summary>
            Disposes the test explorer.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Model.Helpers.TestExplorer.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.Explore(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Explores tests defined by the specified code element and populates the explorer's test model.
            </summary>
      <param name="reflectionPolicy">The reflection policy.</param>
      <param name="codeElement">The code element.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reflectionPolicy" />,
            <paramref name="codeElement" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.ExploreImpl(Gallio.Common.Reflection.IReflectionPolicy,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Explores tests defined by the specified code element and populates the explorer's test model.
            </summary>
      <param name="reflectionPolicy">The reflection policy, not null.</param>
      <param name="codeElement">The code element, not null.</param>
    </member>
    <member name="M:Gallio.Model.Helpers.TestExplorer.Finish">
      <summary>
            Finishes populating the model.
            </summary>
    </member>
    <member name="P:Gallio.Model.Helpers.TestExplorer.TestModel">
      <summary>
            Gets the test model.
            </summary>
    </member>
    <member name="T:Gallio.Model.Helpers.TestHarness">
      <summary>
            A test harness configures the test environment during test exploration and execution.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestHarness.#ctor">
      <summary>
            Creates the test harness.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestHarness.Dispose">
      <summary>
            Disposes the test harness.
            </summary>
    </member>
    <member name="M:Gallio.Model.Helpers.TestHarness.Dispose(System.Boolean)">
      <summary>
            Disposes the test harness.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Model.Helpers.TestHarness.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Model.Helpers.TestHarness.SetUpAppDomain">
      <summary>
            Sets up the test AppDomain.
            </summary>
      <returns>Returns an object that when disposed causes the changes to be torn down, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Helpers.TestHarness.SetUpThread">
      <summary>
            Sets up the test Thread.
            </summary>
      <returns>Returns an object that when disposed causes the changes to be torn down, or null if none.</returns>
    </member>
    <member name="T:Gallio.Model.Isolation.BaseTestIsolationContext">
      <summary>
            An abstract base implementation of a test isolation context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.BaseTestIsolationContext" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.BeginBatch(Gallio.Model.Isolation.StatusReporter)">
      <summary>
            Begins a batch of isolated tasks.
            </summary>
      <param name="statusReporter">The status reporter.</param>
      <returns>Returns an object that when disposed causes the batch to be terminated, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="statusReporter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.BeginBatchImpl(Gallio.Model.Isolation.StatusReporter)">
      <summary>
            Begins a batch of isolated tasks.
            </summary>
      <param name="statusReporter">The status reporter, not null.</param>
      <returns>Returns an object that when disposed causes the batch to be terminated, or null if none.</returns>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.Dispose">
      <summary>
            Disposes the test isolation context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.Dispose(System.Boolean)">
      <summary>
            Disposes the test isolation context.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Model.Isolation.BaseTestIsolationContext.Dispose" /> was called directly.</param>
    </member>
    <member name="P:Gallio.Model.Isolation.BaseTestIsolationContext.RequiresSingleThreadedExecution">
      <summary>
            Gets or sets whether the test isolation context requires test drivers to try to run test
            code within the same thread on which the isolated task is executed.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.RunIsolatedTask``1(Gallio.Runtime.Hosting.HostSetup,Gallio.Model.Isolation.StatusReporter,System.Object[])">
      <summary>
            Runs an isolated task within the test isolation context.
            </summary>
      <param name="hostSetup">The host setup parameters for the isolated task.</param>
      <param name="statusReporter">The status reporter.</param>
      <param name="args">The task arguments, or null if none.  Must be serializable.</param>
      <typeparam name="TIsolatedTask">The isolated task subclass.</typeparam>
      <returns>The task result, or null if none.  Must be serializable.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" />
            or <paramref name="statusReporter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationContext.RunIsolatedTaskImpl``1(Gallio.Runtime.Hosting.HostSetup,Gallio.Model.Isolation.StatusReporter,System.Object[])">
      <summary>
            Runs an isolated task within the test isolation context.
            </summary>
      <param name="hostSetup">The host setup parameters for the isolated task, not null.</param>
      <param name="statusReporter">The status reporter, not null.</param>
      <param name="args">The task arguments, or null if none.  Must be serializable.</param>
      <typeparam name="TIsolatedTask">The isolated task subclass.</typeparam>
      <returns>The task result, or null if none.  Must be serializable.</returns>
    </member>
    <member name="T:Gallio.Model.Isolation.BaseTestIsolationProvider">
      <summary>
            An abstract base implementation of a test isolation provider.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationProvider.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.BaseTestIsolationProvider" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationProvider.CreateContext(Gallio.Model.Isolation.TestIsolationOptions,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a test isolation context.
            </summary>
      <param name="testIsolationOptions">The test isolation options.</param>
      <param name="logger">The logger.</param>
      <returns>The test isolation context.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationOptions" />
            or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.BaseTestIsolationProvider.CreateContextImpl(Gallio.Model.Isolation.TestIsolationOptions,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a test isolation context.
            </summary>
      <param name="testIsolationOptions">The test isolation options, not null.</param>
      <param name="logger">The logger, not null.</param>
      <returns>The test isolation context.</returns>
    </member>
    <member name="T:Gallio.Model.Isolation.HostedTestIsolationContext">
      <summary>
            A hosted test isolation context created by <see cref="T:Gallio.Model.Isolation.HostedTestIsolationProvider" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.HostedTestIsolationContext.#ctor(Gallio.Runtime.Hosting.IHostFactory,Gallio.Model.Isolation.TestIsolationOptions,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a hosted test isolation context.
            </summary>
      <param name="hostFactory">The host factory.</param>
      <param name="testIsolationOptions">The test isolation options.</param>
      <param name="logger">The logger.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostFactory" />,
            <paramref name="testIsolationOptions" /> or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Isolation.HostedTestIsolationContext.HostFactory">
      <summary>
            Gets the host factory.
            </summary>
    </member>
    <member name="P:Gallio.Model.Isolation.HostedTestIsolationContext.Logger">
      <summary>
            Gets the logger.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.HostedTestIsolationContext.RunIsolatedTaskImpl``1(Gallio.Runtime.Hosting.HostSetup,Gallio.Model.Isolation.StatusReporter,System.Object[])">
      <summary>
            Runs an isolated task within the test isolation context.
            </summary>
      <param name="hostSetup">The host setup parameters for the isolated task, not null.</param>
      <param name="statusReporter">The status reporter, not null.</param>
      <param name="args">The task arguments, or null if none.  Must be serializable.</param>
      <typeparam name="TIsolatedTask">The isolated task subclass.</typeparam>
      <returns>The task result, or null if none.  Must be serializable.</returns>
    </member>
    <member name="M:Gallio.Model.Isolation.HostedTestIsolationContext.RunIsolatedTaskInHost``1(Gallio.Runtime.Hosting.HostSetup,Gallio.Model.Isolation.StatusReporter,System.Object[])">
      <summary>
            Runs an isolated task in a host.
            </summary>
      <param name="hostSetup">The host setup which includes the test isolation option properties copied down, not null.</param>
      <param name="statusReporter">The status reporter, not null.</param>
      <param name="args">The task arguments.</param>
      <typeparam name="TIsolatedTask">The isolated task type.</typeparam>
      <returns>The task result.</returns>
    </member>
    <member name="P:Gallio.Model.Isolation.HostedTestIsolationContext.TestIsolationOptions">
      <summary>
            Gets the test isolation options.
            </summary>
    </member>
    <member name="T:Gallio.Model.Isolation.HostedTestIsolationProvider">
      <summary>
            A test isolation provider based on <see cref="T:Gallio.Runtime.Hosting.IHostFactory" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.HostedTestIsolationProvider.#ctor(Gallio.Runtime.Hosting.IHostFactory)">
      <summary>
            Creates a hosted test isolation provider.
            </summary>
      <param name="hostFactory">The host factory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostFactory" />
            is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.HostedTestIsolationProvider.CreateContextImpl(Gallio.Model.Isolation.TestIsolationOptions,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a test isolation context.
            </summary>
      <param name="testIsolationOptions">The test isolation options, not null.</param>
      <param name="logger">The logger, not null.</param>
      <returns>The test isolation context.</returns>
    </member>
    <member name="T:Gallio.Model.Isolation.IsolatedTask">
      <summary>
            An isolated task runs in a <see cref="T:Gallio.Model.Isolation.ITestIsolationContext" />.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.IsolatedTask.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.IsolatedTask" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Isolation.IsolatedTask.Run(System.Object[])">
      <summary>
            Runs the task.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.IsolatedTask.RunImpl(System.Object[])">
      <summary>
            Runs the task.
            </summary>
    </member>
    <member name="T:Gallio.Model.Isolation.ITestIsolationContext">
      <summary>
            A test isolation context is responsible for running test code in an isolated
            (possibly remote) environment.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.ITestIsolationContext.BeginBatch(Gallio.Model.Isolation.StatusReporter)">
      <summary>
            Begins a batch of isolated tasks.
            </summary>
      <param name="statusReporter">The status reporter.</param>
      <returns>Returns an object that when disposed causes the batch to be terminated, or null if none.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="statusReporter" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Isolation.ITestIsolationContext.RequiresSingleThreadedExecution">
      <summary>
            Gets or sets whether the test isolation context requires test drivers to try to run test
            code within the same thread on which the isolated task is executed.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.ITestIsolationContext.RunIsolatedTask``1(Gallio.Runtime.Hosting.HostSetup,Gallio.Model.Isolation.StatusReporter,System.Object[])">
      <summary>
            Runs an isolated task within the test isolation context.
            </summary>
      <param name="hostSetup">The host setup parameters for the isolated task.</param>
      <param name="statusReporter">The status reporter.</param>
      <param name="args">The task arguments, or null if none.  Must be serializable.</param>
      <typeparam name="TIsolatedTask">The isolated task subclass.</typeparam>
      <returns>The task result, or null if none.  Must be serializable.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" />
            or <paramref name="statusReporter" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Isolation.ITestIsolationProvider">
      <summary>
            A test isolation provider creates <see cref="T:Gallio.Model.Isolation.ITestIsolationContext" /> instances.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.ITestIsolationProvider.CreateContext(Gallio.Model.Isolation.TestIsolationOptions,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a test isolation context.
            </summary>
      <param name="testIsolationOptions">The test isolation options.</param>
      <param name="logger">The logger.</param>
      <returns>The test isolation context.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationOptions" />
            or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Isolation.StatusReporter">
      <summary>
            Reports a status update.
            </summary>
    </member>
    <member name="T:Gallio.Model.Isolation.TestIsolationClient">
      <summary>
            Manages the client end of a remote connection that runs isolated tasks provided by the server.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationClient.#ctor(System.String,System.Guid)">
      <summary>
            Creates a test isolation client.
            </summary>
      <param name="ipcPortName">The IPC port name.</param>
      <param name="linkId">The unique id of the client/server pair.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ipcPortName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationClient.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationClient.Dispose(System.Boolean)">
      <summary>
            Disposes the client.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Model.Isolation.TestIsolationClient.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationClient.Run">
      <summary>
            Runs isolated tasks until the server shuts down.
            </summary>
    </member>
    <member name="T:Gallio.Model.Isolation.TestIsolationException">
      <summary>
            The type of exception thrown when test isolation operations fail.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Model.Isolation.TestIsolationOptions">
      <summary>
            Provides options that control test isolation.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationOptions.#ctor">
      <summary>
            Creates a default set of options.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationOptions.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationOptions.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationOptions.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Model.Isolation.TestIsolationOptions.Properties">
      <summary>
            Gets a read-only collection of configuration properties for the test isolation context.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationOptions.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Isolation.TestIsolationServer">
      <summary>
            Manages the server end of a remote connection that dispatches isolated tasks to a client.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationServer.#ctor(System.String,System.Guid)">
      <summary>
            Creates a test isolation server.
            </summary>
      <param name="ipcPortName">The IPC port name.</param>
      <param name="linkId">The unique id of the client/server pair.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="ipcPortName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationServer.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationServer.Dispose(System.Boolean)">
      <summary>
            Disposes the server.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Model.Isolation.TestIsolationServer.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationServer.RunIsolatedTaskOnClient(System.Type,System.Object[])">
      <summary>
            Runs an isolated task on the client.
            </summary>
      <param name="isolatedTaskType">The type of isolated task to run.</param>
      <param name="args">The isolated task arguments.</param>
      <returns>The isolated task result.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="isolatedTaskType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Isolation.TestIsolationServer.Shutdown(System.TimeSpan)">
      <summary>
            Instructs a client to shutdown nicely.
            </summary>
      <param name="timeout">The maximum amount of time to wait for the client to receive the shutdown message.</param>
    </member>
    <member name="T:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage">
      <summary>
            Tells the server that the client has finished processing an isolated task.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage.Exception">
      <summary>
            Gets or sets the exception data.
            </summary>
    </member>
    <member name="P:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage.Id">
      <summary>
            Gets or sets the unique id of the isolated task.
            </summary>
    </member>
    <member name="P:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage.Result">
      <summary>
            Gets or sets the isolated task result.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.Messages.IsolatedTaskFinishedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Isolation.Messages.PingMessage">
      <summary>
            Tells the server that the client is active.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.Messages.PingMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.Messages.PingMessage" /> class</summary>
    </member>
    <member name="T:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage">
      <summary>
            Tells the client to run an isolated task.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage.Arguments">
      <summary>
            Gets or sets the isolated task arguments.
            </summary>
    </member>
    <member name="P:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage.Id">
      <summary>
            Gets or sets the unique id of the isolated task.
            </summary>
    </member>
    <member name="P:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage.IsolatedTaskType">
      <summary>
            Gets or sets the type of isolated task.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.Messages.RunIsolatedTaskMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Isolation.Messages.ShutdownMessage">
      <summary>
            Tells the client to shut down.
            </summary>
    </member>
    <member name="M:Gallio.Model.Isolation.Messages.ShutdownMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Isolation.Messages.ShutdownMessage" /> class</summary>
    </member>
    <member name="T:Gallio.Model.Messages.TestModelSerializer">
      <summary>
            Provides functions for converting a <see cref="T:Gallio.Model.Tree.TestModel" /> into a sequence of
            messages and back.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.TestModelSerializer.CreateMessageSinkToPopulateTestModel(Gallio.Model.Tree.TestModel)">
      <summary>
            Creates a message sink that populates the test model as test and annotation
            discovered messages are published.
            </summary>
      <param name="testModel">The test model to populate.</param>
      <returns>The message sink.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModel" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Messages.TestModelSerializer.PublishTestModel(Gallio.Model.Tree.TestModel,Gallio.Common.Messaging.IMessageSink)">
      <summary>
            Publishes the contents of the test model to a message sink as test
            and annotation discovered messages.
            </summary>
      <param name="testModel">The test model to publish.</param>
      <param name="messageSink">The message sink.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testModel" />
            or <paramref name="messageSink" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepFinishedMessage">
      <summary>
            Notifies that a test step has finished execution.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepFinishedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepFinishedMessage" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepFinishedMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepFinishedMessage.Result">
      <summary>
            Gets or sets the test result, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepFinishedMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepFinishedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage">
      <summary>
            Notifies that a test step has changed lifecycle phase.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage.LifecyclePhase">
      <summary>
            Gets or sets the lifecycle phase name, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLifecyclePhaseChangedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLogAttachMessage">
      <summary>
            Notifies that an attachment has been added to a test step log.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogAttachMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLogAttachMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogAttachMessage.Attachment">
      <summary>
            Gets or sets the attachment, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogAttachMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogAttachMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogAttachMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage">
      <summary>
            Notifies that a marker block has been started within a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage.Marker">
      <summary>
            Gets or sets the marker.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage.StreamName">
      <summary>
            Gets or sets the stream name, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamBeginMarkerBlockMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage">
      <summary>
            Notifies that a section block has been started within a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage.SectionName">
      <summary>
            Gets or sets the section name, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage.StreamName">
      <summary>
            Gets or sets the stream name, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamBeginSectionBlockMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage">
      <summary>
            Notifies that an attachment has been embedded into a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage.AttachmentName">
      <summary>
            Gets or sets the attachment name, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage.StreamName">
      <summary>
            Gets or sets the stream name, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamEmbedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage">
      <summary>
            Notifies that a block started with Begin* has finished within a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage.StreamName">
      <summary>
            Gets or sets the stream name, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamEndBlockMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage">
      <summary>
            Notifies that text has been written to a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage.StreamName">
      <summary>
            Gets or sets the stream name, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage.Text">
      <summary>
            Gets or sets the text, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepLogStreamWriteMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage">
      <summary>
            Notifies that a test step has dynamically added metadata to itself.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage.MetadataKey">
      <summary>
            Gets or sets the metadata key, not null.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage.MetadataValue">
      <summary>
            Gets or sets the metadata value, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage.StepId">
      <summary>
            Gets or sets the id of the test step, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepMetadataAddedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Execution.TestStepStartedMessage">
      <summary>
            Notifies that a test step has started execution and provides its definition.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepStartedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Execution.TestStepStartedMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepStartedMessage.CodeElement">
      <summary>
            Gets or sets the code element associated with the test step, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepStartedMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Execution.TestStepStartedMessage.Step">
      <summary>
            Gets or sets information about the test step that is about to start, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Execution.TestStepStartedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Exploration.AnnotationDiscoveredMessage">
      <summary>
            Notifies that an annotation has been discovered by the test exploration process.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Exploration.AnnotationDiscoveredMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Exploration.AnnotationDiscoveredMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Exploration.AnnotationDiscoveredMessage.Annotation">
      <summary>
            Gets or sets the annotation, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Exploration.AnnotationDiscoveredMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Model.Messages.Exploration.AnnotationDiscoveredMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Exploration.TestDiscoveredMessage">
      <summary>
            Notifies that a test has been discovered by the test exploration process.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Exploration.TestDiscoveredMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Exploration.TestDiscoveredMessage" /> class</summary>
    </member>
    <member name="M:Gallio.Model.Messages.Exploration.TestDiscoveredMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Exploration.TestDiscoveredMessage.ParentTestId">
      <summary>
            Gets or sets the id of the parent test, or null if the test is the root.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Exploration.TestDiscoveredMessage.Test">
      <summary>
            Gets or sets information about the test that was discovered, not null.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Exploration.TestDiscoveredMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage">
      <summary>
            Notifies that a diagnostic log message has been submitted.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage" /> class</summary>
    </member>
    <member name="P:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage.ExceptionData">
      <summary>
            Gets or sets the exception, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage.Message">
      <summary>
            Gets or sets the log message.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage.Severity">
      <summary>
            Gets or sets the log severity.
            </summary>
    </member>
    <member name="M:Gallio.Model.Messages.Logging.LogEntrySubmittedMessage.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Model.Schema.AnnotationData">
      <summary>
            Describes an annotation in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.AnnotationData.#ctor(Gallio.Model.AnnotationType,Gallio.Common.Reflection.CodeLocation,Gallio.Common.Reflection.CodeReference,System.String,System.String)">
      <summary>
            Creates an annotation.
            </summary>
      <param name="type">The annotation type.</param>
      <param name="codeLocation">The code location.</param>
      <param name="codeReference">The code reference.</param>
      <param name="message">The annotation message.</param>
      <param name="details">Additional details such as exception text or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.AnnotationData.#ctor(Gallio.Model.Tree.Annotation)">
      <summary>
            Copies the contents of an annotation.
            </summary>
      <param name="source">The source annotation.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.AnnotationData.CodeElement">
      <summary>
            Gets or sets the code element or null if none.  (not serialized)
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.AnnotationData.CodeLocation">
      <summary>
            Gets or sets the code location associated with the annotation.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.AnnotationData.CodeReference">
      <summary>
            Gets or sets the code reference associated with the annotation.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.AnnotationData.Details">
      <summary>
            Gets or sets additional details such as exception text, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.AnnotationData.Log(Gallio.Runtime.Logging.ILogger,System.Boolean)">
      <summary>
            Writes the annotation to a logger for presentation.
            </summary>
      <param name="logger">The logger.</param>
      <param name="includePrefix">If true, includes an identifying prefix to describe
            the annotation type, otherwise we assume that the logger will do its own
            thing based on the log severity.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.AnnotationData.Message">
      <summary>
            Gets or sets the annotation message.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.AnnotationData.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Model.Schema.AnnotationData.ToAnnotation">
      <summary>
            Recreates a <see cref="T:Gallio.Model.Tree.Annotation" /> object from the annotation data.
            </summary>
      <returns>The annotation.</returns>
    </member>
    <member name="P:Gallio.Model.Schema.AnnotationData.Type">
      <summary>
            Gets or sets the annotation type.
            </summary>
    </member>
    <member name="T:Gallio.Model.Schema.TestComponentData">
      <summary>
            Describes a test model component in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestComponentData.#ctor">
      <summary>
            Creates an uninitialized instance for Xml deserialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestComponentData.#ctor(Gallio.Model.Tree.TestComponent)">
      <summary>
            Copies the contents of a test component.
            </summary>
      <param name="source">The source object.</param>
    </member>
    <member name="M:Gallio.Model.Schema.TestComponentData.#ctor(System.String,System.String)">
      <summary>
            Creates a test component.
            </summary>
      <param name="id">The component id.</param>
      <param name="name">The component name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> or <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestComponentData.CodeElement">
      <summary>
            Gets or sets the code element or null if none.  (not serialized)
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestComponentData.CodeLocation">
      <summary>
            Gets or sets the code location or <see cref="F:Gallio.Common.Reflection.CodeLocation.Unknown" /> if not available.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestComponentData.CodeReference">
      <summary>
            Gets or sets the code reference or <see cref="F:Gallio.Common.Reflection.CodeReference.Unknown" /> if not available.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestComponentData.Id">
      <summary>
            Gets or sets the test component id.  (non-null)
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestComponentData.Metadata">
      <summary>
            Gets or sets the metadata map.  (non-null)
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestComponentData.Name">
      <summary>
            Gets or sets the test component name.  (non-null)
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Schema.TestData">
      <summary>
            Describes a test in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestData.#ctor(Gallio.Model.Tree.Test)">
      <summary>
            Copies the contents of a test recursively including its children.
            </summary>
      <param name="source">The source test.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestData.#ctor(Gallio.Model.Tree.Test,System.Boolean)">
      <summary>
            Copies the contents of a test.
            </summary>
      <param name="source">The source test.</param>
      <param name="nonRecursive">If true, does not recursively populate the children of the test.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestData.#ctor(System.String,System.String,System.String)">
      <summary>
            Creates a test data object.
            </summary>
      <param name="id">The component id.</param>
      <param name="name">The component name.</param>
      <param name="fullName">The full name of the test.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" />, <paramref name="name" />,
            or <paramref name="fullName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestData.AllTests">
      <summary>
            Recursively enumerates this test and all of its descendants.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestData.Children">
      <summary>
            Gets the mutable list of children.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestData.FullName">
      <summary>
            Gets or sets the full name of the test.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestData.IsTestCase">
      <summary>
            Gets or sets whether this node is a test case.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestData.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Schema.TestData.Parameters">
      <summary>
            Gets the mutable list of parameters.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestData.ToTest">
      <summary>
            Recreates a <see cref="T:Gallio.Model.Tree.Test" /> object from the test data.
            </summary>
      <returns>The test.</returns>
    </member>
    <member name="T:Gallio.Model.Schema.TestModelData">
      <summary>
            The test model captures the root of the test data tree along with an index by id.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.#ctor">
      <summary>
            Creates an empty test model with just a root test.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.#ctor(Gallio.Model.Schema.TestData)">
      <summary>
            Creates a test model.
            </summary>
      <param name="rootTest">The root test.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="rootTest" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.#ctor(Gallio.Model.Tree.TestModel)">
      <summary>
            Copies the contents of a test model.
            </summary>
      <param name="source">The source test model.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestModelData.AllTests">
      <summary>
            Recursively enumerates all tests including the root test.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestModelData.Annotations">
      <summary>
            Gets the mutable list of annotations.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.GetErrorAnnotationCount">
      <summary>
            Gets the number of error annotations on the model.
            </summary>
      <returns>The numer of error annotations present.</returns>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.GetTestById(System.String)">
      <summary>
            Gets a test by its id.
            </summary>
      <param name="testId">The test id.</param>
      <returns>The test, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.MergeSubtree(System.String,Gallio.Model.Schema.TestData)">
      <summary>
            Merged a subtree of tests into the model.
            </summary>
      <param name="parentTestId">The id of the parent test, or null if adding the root.</param>
      <param name="test">The top test of the subtree to add.</param>
      <returns>The merged test, if the test was already present in the tree.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestModelData.ResetIndex">
      <summary>
            Resets the test index by id in case the test model has been modified.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestModelData.RootTest">
      <summary>
            Gets or sets the root test in the model.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Schema.TestPackageData">
      <summary>
            Describes a test package in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.#ctor">
      <summary>
            Creates an empty test package.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.#ctor(Gallio.Model.TestPackage)">
      <summary>
            Copies the contents of a test package.
            </summary>
      <param name="source">The source test package.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.ApplicationBaseDirectory">
      <summary>
            Gets or sets the application base directory, or null to use the directory
            containing each group of test files or some other suitable default chosen by the test framework.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.Debug">
      <summary>
            Gets or sets whether to attach the debugger to the host.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.ExcludedFrameworkIds">
      <summary>
            Gets the list of test framework IDs that are to be excluded from the test
            exploration process.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.Files">
      <summary>
            Gets the list of relative or absolute paths of test files.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.HintDirectories">
      <summary>
            Gets the list of hint directories used to resolve test assemblies and other files.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.InitializeTestPackage(Gallio.Model.TestPackage)">
      <summary>
            Initializes a test package with the contents of this structure.
            </summary>
      <param name="testPackage">The test package to populate.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.MakeAbsolutePaths(System.String)">
      <summary>
            Makes the test package paths absolute given the specified base path.
            </summary>
      <param name="basePath">The base path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="basePath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.MakeRelativePaths(System.String)">
      <summary>
            Makes the test package paths relative to the specified base path.
            </summary>
      <param name="basePath">The base path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="basePath" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.Properties">
      <summary>
            Gets or sets the properties for the test runner. (non-null)
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.RuntimeVersion">
      <summary>
            Gets or sets the .Net runtime version, or null to auto-detect.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.ShadowCopy">
      <summary>
            Gets or sets whether assembly shadow copying is enabled.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.ToTestPackage">
      <summary>
            Creates a test package with the contents of this structure.
            </summary>
      <returns>The test package.</returns>
    </member>
    <member name="M:Gallio.Model.Schema.TestPackageData.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestPackageData.WorkingDirectory">
      <summary>
            Gets or sets the working directory, or null to use the directory containing
            each group of test files or some other suitable default chosen by the test framework.
            </summary>
    </member>
    <member name="T:Gallio.Model.Schema.TestParameterData">
      <summary>
            Describes a test parameter in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestParameterData.#ctor(Gallio.Model.Tree.TestParameter)">
      <summary>
            Copies the contents of a test parameter.
            </summary>
      <param name="source">The source test parameter.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestParameterData.#ctor(System.String,System.String)">
      <summary>
            Creates a parameter data object.
            </summary>
      <param name="id">The component id.</param>
      <param name="name">The component name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> or
            <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestParameterData.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="M:Gallio.Model.Schema.TestParameterData.ToTestParameter">
      <summary>
            Recreates a <see cref="T:Gallio.Model.Tree.TestParameter" /> object from the test data.
            </summary>
      <returns>The test parameter.</returns>
    </member>
    <member name="T:Gallio.Model.Schema.TestStepData">
      <summary>
            Describes a test step in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestStepData.#ctor(Gallio.Model.Tree.TestStep)">
      <summary>
            Copies the contents of a test step.
            </summary>
      <param name="source">The source test step.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestStepData.#ctor(System.String,System.String,System.String,System.String)">
      <summary>
            Creates a step.
            </summary>
      <param name="id">The step id.</param>
      <param name="name">The step name.</param>
      <param name="fullName">The full name of the step.</param>
      <param name="testId">The test id.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" />, <paramref name="name" />,
            <paramref name="fullName" /> or <paramref name="testId" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestStepData.FullName">
      <summary>
            Gets or sets the full name of the step.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Schema.TestStepData.IsDynamic">
      <summary>
            Gets or sets whether the test step is dynamic.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestStepData.IsPrimary">
      <summary>
            Gets or sets whether the test step is primary.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestStepData.IsTestCase">
      <summary>
            Gets or sets whether the test step represents a test case.
            </summary>
    </member>
    <member name="M:Gallio.Model.Schema.TestStepData.Normalize">
      <summary>
            Obtains a normalized copy of the object or the original instance if it is already normalized.
            </summary>
      <returns>The original instance or a normalized copy.</returns>
    </member>
    <member name="P:Gallio.Model.Schema.TestStepData.ParentId">
      <summary>
            Gets or sets the id of the parent step.
            </summary>
    </member>
    <member name="P:Gallio.Model.Schema.TestStepData.TestId">
      <summary>
            Gets or sets the id of the test to which the step belongs.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Schema.TestStepData.ToTestStep(Gallio.Model.Tree.Test,Gallio.Model.Tree.TestStep)">
      <summary>
            Recreates a <see cref="T:Gallio.Model.Tree.TestStep" /> object from the test data.
            </summary>
      <param name="test">The test to which the step belongs.</param>
      <param name="parent">The parent test step, or null if none.</param>
      <returns>The test step.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Tree.Annotation">
      <summary>
            An annotation associates a message with a source code location
            to inform the user about a problem.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Annotation.#ctor(Gallio.Model.AnnotationType,Gallio.Common.Reflection.ICodeElementInfo,System.String)">
      <summary>
            Creates an annotation with no details.
            </summary>
      <param name="type">The annotation type.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="message">The annotation message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Annotation.#ctor(Gallio.Model.AnnotationType,Gallio.Common.Reflection.ICodeElementInfo,System.String,System.Exception)">
      <summary>
            Creates an annotation with a detail exception.
            </summary>
      <param name="type">The annotation type.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="message">The annotation message.</param>
      <param name="ex">The exception to use as additional details or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Annotation.#ctor(Gallio.Model.AnnotationType,Gallio.Common.Reflection.ICodeElementInfo,System.String,System.String)">
      <summary>
            Creates an annotation with a detail message string.
            </summary>
      <param name="type">The annotation type.</param>
      <param name="codeElement">The associated code element, or null if none.</param>
      <param name="message">The annotation message.</param>
      <param name="details">Additional details such as exception text or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.Annotation.CodeElement">
      <summary>
            Gets the code element associated with the annotation.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Annotation.Details">
      <summary>
            Gets additional details such as exception text, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Annotation.Message">
      <summary>
            Gets the annotation message.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Annotation.Type">
      <summary>
            Gets the annotation type.
            </summary>
    </member>
    <member name="T:Gallio.Model.Tree.RootTest">
      <summary>
            The root test in the test tree.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.RootTest.#ctor">
      <summary>
            Creates the root test.
            </summary>
    </member>
    <member name="F:Gallio.Model.Tree.RootTest.RootTestName">
      <summary>
            Gets the root test name.
            </summary>
    </member>
    <member name="T:Gallio.Model.Tree.Test">
      <summary>
            A test object represents a parameterized test case or test
            container.  The test parameters are used as placeholders for
            data-binding during test execution.  A single test can
            produce multiple steps (<seealso cref="T:Gallio.Model.Tree.TestStep" />) at runtime.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Test.#ctor(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Initializes a test initially without a parent.
            </summary>
      <param name="name">The name of the test.</param>
      <param name="codeElement">The point of definition of the test, or null if unknown.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Test.AddChild(Gallio.Model.Tree.Test)">
      <summary>
            Adds a child test and sets its <see cref="P:Gallio.Model.Tree.Test.Parent" /> property.
            </summary>
      <param name="test">The test to add as a child.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="test" /> is already
            the child of some other test.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Test.AddDependency(Gallio.Model.Tree.Test)">
      <summary>
            Adds a test dependency.
            </summary>
      <param name="test">The test to add as a dependency.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Test.AddParameter(Gallio.Model.Tree.TestParameter)">
      <summary>
            Adds a test parameter and sets its <see cref="P:Gallio.Model.Tree.TestParameter.Owner" /> property.
            </summary>
      <param name="parameter">The test parameter to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameter" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="parameter" /> is already
            owned by some other test.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.Test.Children">
      <summary>
            Gets a read-only list of the children of this test.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Test.ClearChildren">
      <summary>
            Clears the list of children.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Test.ClearDependencies">
      <summary>
            Clears the list of dependencies.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Test.ClearParameters">
      <summary>
            Clears the list of test parameters.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Test.Dependencies">
      <summary>
            Gets a read-only list of the dependencies of this test.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Test.FullName">
      <summary>
            Gets the full name of the test.  The full name is derived by concatenating the
            <see cref="P:Gallio.Model.Tree.Test.FullName" /> of the <see cref="P:Gallio.Model.Tree.Test.Parent" /> followed by a slash ('/')
            followed by the <see cref="P:Gallio.Model.Tree.TestComponent.Name" /> of this test.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Test.GetUniqueLocalIdForChild(System.String)">
      <summary>
            Obtains a unique local id for a child of this test.
            </summary>
      <param name="localIdHint">A suggested id which will be used if no conflicts occur.</param>
      <returns>The unique local id to use.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="localIdHint" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.Test.Id">
      <summary>
            Gets or sets the stable unique identifier of the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.Test.IsTestCase">
      <summary>
            Gets whether this test represents an individual test case
            as opposed to a test container such as a fixture or suite.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Test.LocalId">
      <summary>
            Gets a locally unique identifier for this test that satisfies the following conditions:
            </summary>
      <returns>The locally unique identifier.</returns>
    </member>
    <member name="P:Gallio.Model.Tree.Test.LocalIdHint">
      <summary>
            Gets or sets a suggested <see cref="P:Gallio.Model.Tree.Test.LocalId" /> hint, or null if none.
            </summary>
      <returns>The local id hint.</returns>
    </member>
    <member name="P:Gallio.Model.Tree.Test.Order">
      <summary>
            Gets or sets a number that defines an ordering for the test with respect to its siblings.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Test.Parameters">
      <summary>
            Gets a read-only list of the parameters of this test.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.Test.Parent">
      <summary>
            Gets or sets the parent of this test, or null if this is the root test.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.Test.RemoveChild(Gallio.Model.Tree.Test)">
      <summary>
            Removes a child test and resets its <see cref="P:Gallio.Model.Tree.Test.Parent" /> property.
            </summary>
      <param name="test">The child test to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="test" /> is not a child of this test.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Test.RemoveDependency(Gallio.Model.Tree.Test)">
      <summary>
            Removes a test dependency.
            </summary>
      <param name="test">The test to remove as a dependency.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Test.RemoveParameter(Gallio.Model.Tree.TestParameter)">
      <summary>
            Removes a test parameter and resets its <see cref="P:Gallio.Model.Tree.TestParameter.Owner" /> property.
            </summary>
      <param name="parameter">The test parameter to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameter" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="parameter" /> is not owned by this test.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.Test.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Tree.TestComponent">
      <summary>
            Common interface for elements in the test object model.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestComponent.#ctor(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Initializes a test component.
            </summary>
      <param name="name">The name of the component.</param>
      <param name="codeElement">The point of definition of the component, or null if unknown.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestComponent.CodeElement">
      <summary>
            Gets or sets a reference to the point of definition of this test
            component in the code, or null if unknown.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestComponent.Id">
      <summary>
            Gets or sets the stable unique identifier of the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestComponent.Kind">
      <summary>
            Gets or sets the value of the <see cref="F:Gallio.Model.MetadataKeys.TestKind" />
            metadata entry.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestComponent.Metadata">
      <summary>
            Gets the metadata of the component.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestComponent.Name">
      <summary>
            Gets or sets the name of the component.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestComponent.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Model.Tree.TestModel">
      <summary>
            The test model provides access to the contents of the test tree
            generated from a test package by the test enumeration process.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestModel.#ctor">
      <summary>
            Creates a test model with a new empty root test.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestModel.AddAnnotation(Gallio.Model.Tree.Annotation)">
      <summary>
            Adds an annotation.
            </summary>
      <param name="annotation">The annotation to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="annotation" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestModel.AllTests">
      <summary>
            Recursively enumerates all tests including the root test.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestModel.Annotations">
      <summary>
            Gets the read-only list of annotations.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestModel.ClearAnnotations">
      <summary>
            Clears the list of annotations.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestModel.FindTest(System.String)">
      <summary>
            Finds a test by its id.
            </summary>
      <param name="testId">The test id.</param>
      <returns>The test, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.TestModel.RemoveAnnotation(Gallio.Model.Tree.Annotation)">
      <summary>
            Removes an annotation.
            </summary>
      <param name="annotation">The annotation to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="annotation" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestModel.RootTest">
      <summary>
            Gets or sets the root test in the model.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Model.Tree.TestParameter">
      <summary>
            A test parameter describes a formal parameter of a <see cref="P:Gallio.Model.Tree.TestComponent.Name" />
            to which a value may be bound and used during test execution.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestParameter.#ctor(System.String,Gallio.Common.Reflection.ICodeElementInfo)">
      <summary>
            Initializes a test parameter.
            </summary>
      <param name="name">The name of the test parameter.</param>
      <param name="codeElement">The point of definition of the parameter, or null if unknown.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestParameter.Id">
      <summary>
            Gets or sets the stable unique identifier of the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestParameter.Owner">
      <summary>
            Gets or sets the test that owns this parameter, or null if this parameter
            does not yet have an owner.
            </summary>
    </member>
    <member name="T:Gallio.Model.Tree.TestStep">
      <summary>
            A test step is a delimited region of a test defined at run-time.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestStep.#ctor(Gallio.Model.Tree.Test,Gallio.Model.Tree.TestStep)">
      <summary>
            Creates a primary step using the same name, code element and metadata
            as the test to which it belongs.
            </summary>
      <param name="test">The test to which the step belongs.</param>
      <param name="parent">The parent test step, or null if creating the root step.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="test" /> is null.</exception>
    </member>
    <member name="M:Gallio.Model.Tree.TestStep.#ctor(Gallio.Model.Tree.Test,Gallio.Model.Tree.TestStep,System.String,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
      <summary>
            Creates a step.
            </summary>
      <param name="test">The test to which the step belongs.</param>
      <param name="parent">The parent step, or null if creating a root step.</param>
      <param name="name">The step name.</param>
      <param name="codeElement">The point of definition of the step, or null if unknown.</param>
      <param name="isPrimary">True if the test step is primary.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="test" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.FullName">
      <summary>
            Gets the full name of the step.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.Id">
      <summary>
            Gets or sets the stable unique identifier of the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.IsDynamic">
      <summary>
            Gets or sets whether the test step is dynamic.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.IsPrimary">
      <summary>
            Returns true if the test step is the top node of a hierarchy of test steps that are
            all associated with the same test.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.IsTestCase">
      <summary>
            Gets or sets whether the test step represents a distinct test case.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.Parent">
      <summary>
            Gets the step that contains this one, or null if this instance represents the
            root step of the test step tree.
            </summary>
    </member>
    <member name="P:Gallio.Model.Tree.TestStep.Test">
      <summary>
            Gets the test to which this step belongs.
            </summary>
    </member>
    <member name="M:Gallio.Model.Tree.TestStep.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Runner.DefaultTestRunner">
      <summary>
            A default implementation of <see cref="T:Gallio.Runner.ITestRunner" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunner.#ctor(Gallio.Model.Isolation.ITestIsolationProvider,Gallio.Model.ITestFrameworkManager)">
      <summary>
            Creates a test runner.
            </summary>
      <param name="testIsolationProvider">The test isolation provider.</param>
      <param name="testFrameworkManager">The test framework manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationProvider" /> 
            or <paramref name="testFrameworkManager" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunner.Dispose(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Disposes the test runner.  Does nothing if already disposed or if not initialized.
            </summary>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.DefaultTestRunner.Events">
      <summary>
            Gets the event dispatcher for the test runner.
            </summary>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunner.Explore(Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests in a test package.
            </summary>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" />,
            <paramref name="testExplorationOptions" />, or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:Gallio.Runner.RunnerException">Thrown if the operation failed.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the runner has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunner.Initialize(Gallio.Runner.TestRunnerOptions,Gallio.Runtime.Logging.ILogger,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Initializes the test runner.
            </summary>
      <param name="testRunnerOptions">The test runner options.</param>
      <param name="logger">The logger.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testRunnerOptions" />,
            <paramref name="logger" /> or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the runner is already initialized.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the runner has been disposed.</exception>
    </member>
    <member name="P:Gallio.Runner.DefaultTestRunner.Logger">
      <summary>
            Gets the logger, or null if the test runner has not been initialized.
            </summary>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunner.RegisterExtension(Gallio.Runner.Extensions.ITestRunnerExtension)">
      <summary>
            Registers a test runner extension.
            </summary>
      <param name="extension">The test runner extension to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extension" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the test runner has already been initialized.</exception>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunner.Run(Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores and runs tests in a test package.
            </summary>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="testExecutionOptions">The test execution options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" />,
            <paramref name="testExplorationOptions" />, <paramref name="testExecutionOptions" />, or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:Gallio.Runner.RunnerException">Thrown if the operation failed.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the runner has been disposed.</exception>
    </member>
    <member name="P:Gallio.Runner.DefaultTestRunner.TestRunnerOptions">
      <summary>
            Gets the test runner options, or null if the test runner has not been initialized.
            </summary>
    </member>
    <member name="T:Gallio.Runner.DefaultTestRunnerFactory">
      <summary>
            A factory for <see cref="T:Gallio.Runner.DefaultTestRunner" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunnerFactory.#ctor(Gallio.Model.Isolation.ITestIsolationProvider,Gallio.Model.ITestFrameworkManager,Gallio.Runner.Extensions.ITestRunnerExtensionManager)">
      <summary>
            Creates a test runner factory.
            </summary>
      <param name="testIsolationProvider">The test isolation provider.</param>
      <param name="testFrameworkManager">The test framework manager.</param>
      <param name="testRunnerExtensionManager">The extension manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testIsolationProvider" />
            or <paramref name="testRunnerExtensionManager" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunnerFactory.CreateTestRunner">
      <summary>
            Creates a test runner.
            </summary>
      <returns>The test runner.</returns>
    </member>
    <member name="T:Gallio.Runner.DefaultTestRunnerManager">
      <summary>
            The default implementation of <see cref="T:Gallio.Runner.ITestRunnerManager" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunnerManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Runner.ITestRunnerFactory,Gallio.Runner.TestRunnerFactoryTraits}[])">
      <summary>
            Creates a test runner manager.
            </summary>
      <param name="factoryHandles">The factory handles.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factoryHandles" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunnerManager.CreateTestRunner(System.String)">
      <summary>
            Creates a test runner.
            </summary>
      <param name="factoryName">The name of the test runner factory, matched case-insensitively.</param>
      <returns>The test runner.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factoryName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.DefaultTestRunnerManager.GetFactory(System.String)">
      <summary>
            Gets the factory by name, or null if none.
            </summary>
      <param name="factoryName">The name of the test runner factory, matched case-insensitively.</param>
      <returns>The test runner.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factoryName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.DefaultTestRunnerManager.TestRunnerFactoryHandles">
      <summary>
            Gets handles for all registered test runner factories.
            </summary>
    </member>
    <member name="T:Gallio.Runner.ITestRunner">
      <summary>
            A test runner provides the basic functionality for loading, exploring and running tests.
            </summary>
    </member>
    <member name="M:Gallio.Runner.ITestRunner.Dispose(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Disposes the test runner.  Does nothing if already disposed or if not initialized.
            </summary>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.ITestRunner.Events">
      <summary>
            Gets the event dispatcher for the test runner.
            </summary>
    </member>
    <member name="M:Gallio.Runner.ITestRunner.Explore(Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores tests in a test package.
            </summary>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" />,
            <paramref name="testExplorationOptions" />, or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:Gallio.Runner.RunnerException">Thrown if the operation failed.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the runner has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runner.ITestRunner.Initialize(Gallio.Runner.TestRunnerOptions,Gallio.Runtime.Logging.ILogger,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Initializes the test runner.
            </summary>
      <param name="testRunnerOptions">The test runner options.</param>
      <param name="logger">The logger.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testRunnerOptions" />,
            <paramref name="logger" /> or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the runner is already initialized.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the runner has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runner.ITestRunner.RegisterExtension(Gallio.Runner.Extensions.ITestRunnerExtension)">
      <summary>
            Registers a test runner extension.
            </summary>
      <param name="extension">The test runner extension to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extension" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the test runner has already been initialized.</exception>
    </member>
    <member name="M:Gallio.Runner.ITestRunner.Run(Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Explores and runs tests in a test package.
            </summary>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="testExecutionOptions">The test execution options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The test report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" />,
            <paramref name="testExplorationOptions" />, <paramref name="testExecutionOptions" />, or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:Gallio.Runner.RunnerException">Thrown if the operation failed.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the runner has been disposed.</exception>
    </member>
    <member name="T:Gallio.Runner.ITestRunnerFactory">
      <summary>
            A test tunner factory is a service that creates an <see cref="T:Gallio.Runner.ITestRunner" />
            given a set of options.
            </summary>
    </member>
    <member name="M:Gallio.Runner.ITestRunnerFactory.CreateTestRunner">
      <summary>
            Creates a test runner.
            </summary>
      <returns>The test runner.</returns>
    </member>
    <member name="T:Gallio.Runner.ITestRunnerManager">
      <summary>
            A test runner manager enumerates the names of the
            <see cref="T:Gallio.Runner.ITestRunnerFactory" /> services that are available and
            provides a mechanism for creating <see cref="T:Gallio.Runner.ITestRunner" /> instances.
            </summary>
    </member>
    <member name="M:Gallio.Runner.ITestRunnerManager.CreateTestRunner(System.String)">
      <summary>
            Creates a test runner.
            </summary>
      <param name="factoryName">The name of the test runner factory, matched case-insensitively.</param>
      <returns>The test runner.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factoryName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.ITestRunnerManager.GetFactory(System.String)">
      <summary>
            Gets the factory by name, or null if none.
            </summary>
      <param name="factoryName">The name of the test runner factory, matched case-insensitively.</param>
      <returns>The test runner.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factoryName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.ITestRunnerManager.TestRunnerFactoryHandles">
      <summary>
            Gets handles for all registered test runner factories.
            </summary>
    </member>
    <member name="T:Gallio.Runner.OperationFinishedEventArgs">
      <summary>
            Base arguments for events raised to indicate the completion of an operation.
            </summary>
    </member>
    <member name="M:Gallio.Runner.OperationFinishedEventArgs.#ctor(System.Boolean)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="success">True if the operation completed successfully.</param>
    </member>
    <member name="P:Gallio.Runner.OperationFinishedEventArgs.Success">
      <summary>
            Returns true if the operation completed successfully.
            </summary>
    </member>
    <member name="T:Gallio.Runner.OperationStartedEventArgs">
      <summary>
            Base arguments for events raised to indicate the beginning of an operation.
            </summary>
    </member>
    <member name="M:Gallio.Runner.OperationStartedEventArgs.#ctor">
      <summary>
            Initializes the event arguments.
            </summary>
    </member>
    <member name="T:Gallio.Runner.ResultCode">
      <summary>
            Describes the result codes used by the application.
            </summary>
    </member>
    <member name="F:Gallio.Runner.ResultCode.Canceled">
      <summary>
            The tests were canceled.
            </summary>
    </member>
    <member name="F:Gallio.Runner.ResultCode.Failure">
      <summary>
            Some tests failed.
            </summary>
    </member>
    <member name="F:Gallio.Runner.ResultCode.FatalException">
      <summary>
            A fatal runtime exception occurred.
            </summary>
    </member>
    <member name="F:Gallio.Runner.ResultCode.InvalidArguments">
      <summary>
            Invalid arguments were supplied on the command-line.
            </summary>
    </member>
    <member name="F:Gallio.Runner.ResultCode.NoTests">
      <summary>
            No tests were found.
            </summary>
    </member>
    <member name="F:Gallio.Runner.ResultCode.Success">
      <summary>
            The tests ran successfully or there were no tests to run.
            </summary>
    </member>
    <member name="T:Gallio.Runner.RunnerException">
      <summary>
            The type of exception thrown when the test runner or one of its
            supportive components like a test domain fails in an unrecoverable manner.
            </summary>
    </member>
    <member name="M:Gallio.Runner.RunnerException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Runner.RunnerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Runner.RunnerException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Runner.RunnerException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Runner.StandardTestRunnerFactoryNames">
      <summary>
            Provides constant names for the standard test runner factories.
            </summary>
    </member>
    <member name="F:Gallio.Runner.StandardTestRunnerFactoryNames.IsolatedAppDomain">
      <summary>
            Runs the test runner in an isolated AppDomain of the current process.
            </summary>
    </member>
    <member name="F:Gallio.Runner.StandardTestRunnerFactoryNames.IsolatedProcess">
      <summary>
            Runs the test runner in an isolated process.
            </summary>
    </member>
    <member name="F:Gallio.Runner.StandardTestRunnerFactoryNames.Local">
      <summary>
            Runs the test runner in the local AppDomain.
            </summary>
    </member>
    <member name="T:Gallio.Runner.TestLauncher">
      <summary>
            The test launcher encapsulated the entire test execution lifecycle from
            start to finish and provides a simplified pattern for running tests.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.#ctor">
      <summary>
            Creates a launcher with default options and no test assemblies specified.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.AddFilePattern(System.String)">
      <summary>
            Adds a file pattern if not already added to the launcher.
            </summary>
      <param name="filePattern">The file path or a wildcard pattern to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filePattern" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.AddReportFormat(System.String)">
      <summary>
            Adds a report format if not already added to the launcher.
            </summary>
      <param name="reportFormat">The report format to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportFormat" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.Cancel">
      <summary>
            Cancels the test run and prevents a new one from starting.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.ClearFilePatterns">
      <summary>
            Clears the list of file patterns.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.ClearReportFormats">
      <summary>
            Clears the list of report formats.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.DoNotRun">
      <summary>
            Gets or sets whether to skip test execution.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.EchoResults">
      <summary>
            Controls whether the test runner will echo result to the <see cref="P:Gallio.Runner.TestLauncher.Logger" />
            as each test finishes.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.FilePatterns">
      <summary>
            Gets a read-only list of test file patterns (with wildcards) or test project files
            that are to be resolved and included in the test package prior to execution.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.IgnoreAnnotations">
      <summary>
            Gets or sets whether to ignore annotations when determining the result code.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.Logger">
      <summary>
            Gets or sets the logger to use.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.ProgressMonitorProvider">
      <summary>
            Gets or sets the progress monitor provider to use.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.RemoveFilePattern(System.String)">
      <summary>
            Removes a file pattern.
            </summary>
      <param name="filePattern">The file pattern to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filePattern" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.RemoveReportFormat(System.String)">
      <summary>
            Removes a report format.
            </summary>
      <param name="reportFormat">The report format to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportFormat" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.ReportFormats">
      <summary>
            Gets a read-only list of report formats to generate.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.ReportFormatterOptions">
      <summary>
            Gets or sets the report formatter options.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestLauncher.Run">
      <summary>
            Runs the test package as configured.
            </summary>
      <returns>A result object.</returns>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.RunTimeLimit">
      <summary>
            Gets or sets the maximum amount of time the tests can run before they are canceled.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.RuntimeSetup">
      <summary>
            Gets or sets the <see cref="P:Gallio.Runner.TestLauncher.RuntimeSetup" /> to use for automatically initializing
            the runtime during test execution or <c>null</c> if the runtime is already initialized.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.ShowReports">
      <summary>
            Gets or sets whether to show the reports after the test run finishes.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.TestExecutionOptions">
      <summary>
            Gets or sets the test execution options.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.TestExplorationOptions">
      <summary>
            Gets or sets the test exploration options.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.TestProject">
      <summary>
            Gets or sets the test project.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.TestLauncher.TestRunnerOptions">
      <summary>
            Gets or sets the test runner options.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.TestLauncherResult">
      <summary>
            Contains the result of a complete test run.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestLauncherResult.#ctor(Gallio.Runner.Reports.Schema.Report)">
      <summary>
            Creates a launcher result object.
            </summary>
      <param name="report">The test report.</param>
    </member>
    <member name="M:Gallio.Runner.TestLauncherResult.AddReportDocumentPath(System.String)">
      <summary>
            Adds a new report document path.
            </summary>
      <param name="reportDocumentPath">The report document path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportDocumentPath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestLauncherResult.GenerateReports(System.String,System.String,System.Collections.Generic.IList{System.String},Gallio.Runner.Reports.ReportFormatterOptions,Gallio.Runner.Reports.IReportManager,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Generates reports of the desired forms.
            </summary>
      <param name="reportDirectory">The report directory.</param>
      <param name="reportName">The report name.</param>
      <param name="reportFormats">The report formats to generate.</param>
      <param name="reportFormatOptions">The report formatter options.</param>
      <param name="reportManager">The report manager.</param>
      <param name="progressMonitor">A progress monitor for the operation.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportDirectory" />,
            <paramref name="reportName" />, <paramref name="reportFormats" />, <paramref name="reportFormatOptions" />,
            <paramref name="reportManager" />, or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.TestLauncherResult.Report">
      <summary>
            Gets the test report.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncherResult.ReportDocumentPaths">
      <summary>
            Gets the full paths of the formatted report documents.
            </summary>
      <returns>The full paths of the formatted report documents.</returns>
    </member>
    <member name="P:Gallio.Runner.TestLauncherResult.ResultCode">
      <summary>
            Gets the result code.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestLauncherResult.ResultSummary">
      <summary>
            Gets a short summary with the number of test that passed, failed and so on.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestLauncherResult.SetResultCode(System.Int32)">
      <summary>
            Sets the result code of the result.
            </summary>
      <param name="value">The new result code.</param>
    </member>
    <member name="M:Gallio.Runner.TestLauncherResult.ShowReportDocuments">
      <summary>
            Shows the report documents enumerated in the launcher result.
            </summary>
      <returns>True if the report documents were successfully opened.</returns>
    </member>
    <member name="P:Gallio.Runner.TestLauncherResult.Statistics">
      <summary>
            Gets the statistics of the execution from the report
            or an empty statistics object if none.
            </summary>
    </member>
    <member name="T:Gallio.Runner.TestRunnerFactoryTraits">
      <summary>
            Describes traits of an <see cref="T:Gallio.Runner.ITestRunnerFactory" /> component.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestRunnerFactoryTraits.#ctor(System.String,System.String)">
      <summary>
            Creates test runner factory traits.
            </summary>
      <param name="name">The unique name of the kind of test runner created by the factory.</param>
      <param name="description">The description of test runner created by the factory.</param>
    </member>
    <member name="P:Gallio.Runner.TestRunnerFactoryTraits.Description">
      <summary>
            Gets the description of test runner created by the factory.
            </summary>
    </member>
    <member name="P:Gallio.Runner.TestRunnerFactoryTraits.Name">
      <summary>
            Gets the unique name of the kind of test runner created by the factory.
            </summary>
    </member>
    <member name="T:Gallio.Runner.TestRunnerOptions">
      <summary>
            Provides options that control the operation of the test runner.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestRunnerOptions.#ctor">
      <summary>
            Creates a default set of options.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestRunnerOptions.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Runner.TestRunnerOptions.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestRunnerOptions.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runner.TestRunnerOptions.Properties">
      <summary>
            Gets a read-only collection of configuration properties for the test runner.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestRunnerOptions.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.TestRunnerUtils">
      <summary>
            Provides helper functions for test runner tools.
            </summary>
    </member>
    <member name="M:Gallio.Runner.TestRunnerUtils.CreateTestRunnerByName(System.String)">
      <summary>
            Creates a test runner given its factory name.
            </summary>
      <param name="factoryName">The test runner factory name.</param>
      <returns>The test runner.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="factoryName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.TestRunnerUtils.ShowReportDocument(System.String)">
      <summary>
            Presents a generated report to the user using the default viewing
            application for the report's document type.
            </summary>
      <param name="reportDocumentPath">The path of the report.</param>
      <returns>True if the report document was successfully opened.</returns>
    </member>
    <member name="T:Gallio.Runner.Events.AnnotationDiscoveredEventArgs">
      <summary>
            Arguments for an event raised to signal that an annotation has been discovered and
            added to the test model.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.AnnotationDiscoveredEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.AnnotationData)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="annotation">The annotation that was added.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.AnnotationDiscoveredEventArgs.Annotation">
      <summary>
            Gets the annotation that was added.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.AnnotationDiscoveredEventArgs.Report">
      <summary>
            Gets the report.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.DisposeFinishedEventArgs">
      <summary>
            Arguments for an event raised to indicate that the test runner disposal has finished.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.DisposeFinishedEventArgs.#ctor(System.Boolean)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="success">True if the disposal was completed successfully.</param>
    </member>
    <member name="T:Gallio.Runner.Events.DisposeStartedEventArgs">
      <summary>
            Arguments for an event raised to indicate that the test runner disposal has started.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.DisposeStartedEventArgs.#ctor">
      <summary>
            Initializes the event arguments.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.ExploreFinishedEventArgs">
      <summary>
            Arguments for an event raised to indicate that test exploration has finished.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.ExploreFinishedEventArgs.#ctor(System.Boolean,Gallio.Runner.Reports.Schema.Report)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="success">True if test exploration was successful.</param>
      <param name="report">The report, including test model data on success.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.ExploreFinishedEventArgs.Report">
      <summary>
            Gets the report, including test model data on success.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.ExploreStartedEventArgs">
      <summary>
            Arguments for an event raised to indicate that test exploration has started.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.ExploreStartedEventArgs.#ctor(Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Common.Concurrency.LockBox{Gallio.Runner.Reports.Schema.Report})">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="testPackage">The test package configuration.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="reportLockBox">The report lock-box which may be used to access the report asynchronously during execution.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" />
            or <paramref name="testExplorationOptions" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.ExploreStartedEventArgs.ReportLockBox">
      <summary>
            Gets the report lock-box which may be used to access the report asynchronously during execution.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.ExploreStartedEventArgs.TestExplorationOptions">
      <summary>
            Gets the test exploration options.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.ExploreStartedEventArgs.TestPackage">
      <summary>
            Gets the test package.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.InitializeFinishedEventArgs">
      <summary>
            Arguments for an event raised to indicate that the test runner initialization has finished.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.InitializeFinishedEventArgs.#ctor(System.Boolean)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="success">True if the test runner was successfully initialized.</param>
    </member>
    <member name="T:Gallio.Runner.Events.InitializeStartedEventArgs">
      <summary>
            Arguments for an event raised to indicate that the test runner initialization has started.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.InitializeStartedEventArgs.#ctor(Gallio.Runner.TestRunnerOptions)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="options">The test runner options.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.InitializeStartedEventArgs.Options">
      <summary>
            Gets the test runner options.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.ITestRunnerEvents">
      <summary>
            Declares all of the events that may be raised by a <see cref="T:Gallio.Runner.ITestRunner" />.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.AnnotationDiscovered">
      <summary>
            The event raised to indicate that an annotation was added to the test model.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.DisposeFinished">
      <summary>
            The event raised to indicate that the test runner disposal has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.DisposeStarted">
      <summary>
            The event raised to indicate that the test runner disposal has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.ExploreFinished">
      <summary>
            The event raised to indicate that test exploration has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.ExploreStarted">
      <summary>
            The event raised to indicate that test exploration has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.InitializeFinished">
      <summary>
            The event raised to indicate that the test runner initialization has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.InitializeStarted">
      <summary>
            The event raised to indicate that the test runner initialization has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.LogEntrySubmitted">
      <summary>
            The event raised to indicate that a log message was written by the test runner.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.MessageReceived">
      <summary>
            The event raised to indicate that a raw message was received by the test runner.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.RunFinished">
      <summary>
            The event raised to indicate that test execution has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.RunStarted">
      <summary>
            The event raised to indicate that test execution has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestDiscovered">
      <summary>
            The event raised to indicate that a subtree of tests was merged into the test model.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepFinished">
      <summary>
            The event raised to indicate that a test step has finished execution.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLifecyclePhaseChanged">
      <summary>
            The event raised to indicate that a test step has entered a new lifecycle phase.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLogAttach">
      <summary>
            The event raised to indicate that an attachment has been added to a test step log.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLogStreamBeginMarkerBlock">
      <summary>
            The event raised to indicate that a marker has been started within a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLogStreamBeginSectionBlock">
      <summary>
            The event raised to indicate that a section has been started within a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLogStreamEmbed">
      <summary>
            The event raised to indicate that an attachment has been embedded into a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLogStreamEndBlock">
      <summary>
            The event raised to indicate that a block has finished within a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepLogStreamWrite">
      <summary>
            The event raised to indicate that text has been written to a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepMetadataAdded">
      <summary>
            The event raised to indicate that a test step dynamically added metadata to itself.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.ITestRunnerEvents.TestStepStarted">
      <summary>
            The event raised to indicate that a test step has started execution.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.MessageReceivedEventArgs">
      <summary>
            Arguments for an event raised when a raw message is received.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.MessageReceivedEventArgs.#ctor(Gallio.Common.Messaging.Message)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="message">The message that was received.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.MessageReceivedEventArgs.Message">
      <summary>
            Gets the message that was received.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.RunFinishedEventArgs">
      <summary>
            Arguments for an event raised to indicate that test execution has finished.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.RunFinishedEventArgs.#ctor(System.Boolean,Gallio.Runner.Reports.Schema.Report)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="success">True if test execution was successful.</param>
      <param name="report">The report, including test package run data on success.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.RunFinishedEventArgs.Report">
      <summary>
            Gets the report, including test package run data on success.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.RunStartedEventArgs">
      <summary>
            Arguments for an event raised to indicate that test execution has started.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.RunStartedEventArgs.#ctor(Gallio.Model.TestPackage,Gallio.Model.TestExplorationOptions,Gallio.Model.TestExecutionOptions,Gallio.Common.Concurrency.LockBox{Gallio.Runner.Reports.Schema.Report})">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="testPackage">The test package.</param>
      <param name="testExplorationOptions">The test exploration options.</param>
      <param name="testExecutionOptions">The test execution options.</param>
      <param name="reportLockBox">The report lock-box which may be used to access the report asynchronously during execution.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testPackage" />,
            <paramref name="testExplorationOptions" /> or <paramref name="testExecutionOptions" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.RunStartedEventArgs.ReportLockBox">
      <summary>
            Gets the report lock-box which may be used to access the report asynchronously during execution.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.RunStartedEventArgs.TestExecutionOptions">
      <summary>
            Gets the test execution options.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.RunStartedEventArgs.TestExplorationOptions">
      <summary>
            Gets the test exploration options.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.RunStartedEventArgs.TestPackage">
      <summary>
            Gets the test package.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestDiscoveredEventArgs">
      <summary>
            Arguments for an event raised to signal that a test was discovered and added to the test model.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestDiscoveredEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test at the top of the subtree that was added.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestDiscoveredEventArgs.Report">
      <summary>
            Gets the report.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.TestDiscoveredEventArgs.Test">
      <summary>
            Gets the test at the top of the subtree that was merged.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestRunnerEventDispatcher">
      <summary>
            Dispatches test runner events to listeners.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Events.TestRunnerEventDispatcher" /> class</summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.AnnotationDiscovered">
      <summary>
            The event raised to indicate that an annotation was added to the test model.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.DisposeFinished">
      <summary>
            The event raised to indicate that the test runner disposal has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.DisposeStarted">
      <summary>
            The event raised to indicate that the test runner disposal has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.ExploreFinished">
      <summary>
            The event raised to indicate that test exploration has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.ExploreStarted">
      <summary>
            The event raised to indicate that test exploration has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.InitializeFinished">
      <summary>
            The event raised to indicate that the test runner initialization has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.InitializeStarted">
      <summary>
            The event raised to indicate that the test runner initialization has started.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.LogEntrySubmitted">
      <summary>
            The event raised to indicate that a log message was written by the test runner.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.MessageReceived">
      <summary>
            The event raised to indicate that a raw message was received by the test runner.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyAnnotationDiscovered(Gallio.Runner.Events.AnnotationDiscoveredEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.AnnotationDiscovered" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyDisposeFinished(Gallio.Runner.Events.DisposeFinishedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.DisposeFinished" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyDisposeStarted(Gallio.Runner.Events.DisposeStartedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.DisposeStarted" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyExploreFinished(Gallio.Runner.Events.ExploreFinishedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.ExploreFinished" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyExploreStarted(Gallio.Runner.Events.ExploreStartedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.ExploreStarted" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyInitializeFinished(Gallio.Runner.Events.InitializeFinishedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.InitializeFinished" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyInitializeStarted(Gallio.Runner.Events.InitializeStartedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.InitializeStarted" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyLogEntrySubmitted(Gallio.Runtime.Logging.LogEntrySubmittedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.LogEntrySubmitted" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyMessageReceived(Gallio.Runner.Events.MessageReceivedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.MessageReceived" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyRunFinished(Gallio.Runner.Events.RunFinishedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.RunFinished" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyRunStarted(Gallio.Runner.Events.RunStartedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.RunStarted" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestDiscovered(Gallio.Runner.Events.TestDiscoveredEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestDiscovered" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepFinished(Gallio.Runner.Events.TestStepFinishedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepFinished" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLifecyclePhaseChanged(Gallio.Runner.Events.TestStepLifecyclePhaseChangedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLifecyclePhaseChanged" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLogAttach(Gallio.Runner.Events.TestStepLogAttachEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogAttach" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLogStreamBeginMarkerBlock(Gallio.Runner.Events.TestStepLogStreamBeginMarkerBlockEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamBeginMarkerBlock" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLogStreamBeginSectionBlock(Gallio.Runner.Events.TestStepLogStreamBeginSectionBlockEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamBeginSectionBlock" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLogStreamEmbed(Gallio.Runner.Events.TestStepLogStreamEmbedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamEmbed" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLogStreamEndBlock(Gallio.Runner.Events.TestStepLogStreamEndBlockEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamEndBlock" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepLogStreamWrite(Gallio.Runner.Events.TestStepLogStreamWriteEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamWrite" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepMetadataAdded(Gallio.Runner.Events.TestStepMetadataAddedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepMetadataAdded" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.NotifyTestStepStarted(Gallio.Runner.Events.TestStepStartedEventArgs)">
      <summary>
            Dispatches the <see cref="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepStarted" /> event.
            </summary>
      <param name="e">The event arguments.</param>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.RunFinished">
      <summary>
            The event raised to indicate that test execution has finished.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.RunStarted">
      <summary>
            The event raised to indicate that test execution has started.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestRunnerEventDispatcher.SubscribeTo(Gallio.Runner.Events.ITestRunnerEvents)">
      <summary>
            Subscribes to another event object such that the events will be forwarded
            to the handlers registered on this dispatcher.
            </summary>
      <param name="events">The other events object.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="events" /> is null.</exception>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestDiscovered">
      <summary>
            The event raised to indicate that a subtree of tests was merged into the test model.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepFinished">
      <summary>
            The event raised to indicate that a test step has finished execution.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLifecyclePhaseChanged">
      <summary>
            The event raised to indicate that a test step has entered a new lifecycle phase.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogAttach">
      <summary>
            The event raised to indicate that an attachment has been added to a test step log.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamBeginMarkerBlock">
      <summary>
            The event raised to indicate that a marker has been started within a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamBeginSectionBlock">
      <summary>
            The event raised to indicate that a section has been started within a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamEmbed">
      <summary>
            The event raised to indicate that an attachment has been embedded into a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamEndBlock">
      <summary>
            The event raised to indicate that a block has finished within a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepLogStreamWrite">
      <summary>
            The event raised to indicate that text has been written to a test step log stream.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepMetadataAdded">
      <summary>
            The event raised to indicate that a test step dynamically added metadata to itself.
            </summary>
    </member>
    <member name="E:Gallio.Runner.Events.TestRunnerEventDispatcher.TestStepStarted">
      <summary>
            The event raised to indicate that a test step has started execution.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepEventArgs">
      <summary>
            Base arguments for an event raised to provide information about a test step.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" />
            or <paramref name="testStepRun" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepEventArgs.GetStepKind">
      <summary>
            Gets the kind of step described using the <see cref="F:Gallio.Model.MetadataKeys.TestKind" /> metadata key.
            </summary>
      <returns>The step kind.</returns>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepEventArgs.Report">
      <summary>
            Gets the report.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepEventArgs.Test">
      <summary>
            Gets the test data of the test that contains the test step.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepEventArgs.TestStepRun">
      <summary>
            Gets the test step run.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepFinishedEventArgs">
      <summary>
            Arguments for an event raised to indicate that a test step has finished execution.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepFinishedEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" />
            or <paramref name="testStepRun" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLifecyclePhaseChangedEventArgs">
      <summary>
            Arguments for an event raised to indicate that a test step has entered a new lifecycle phase.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLifecyclePhaseChangedEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="lifecyclePhase">The lifecycle phase name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" />, or <paramref name="lifecyclePhase" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLifecyclePhaseChangedEventArgs.LifecyclePhase">
      <summary>
            Gets the lifecycle phase name.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogAttachEventArgs">
      <summary>
            Arguments for an event raised to indicate that an attachment has been added to a test step log.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogAttachEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,Gallio.Common.Markup.Attachment)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="attachment">The attachment.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" /> or <paramref name="attachment" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLogAttachEventArgs.Attachment">
      <summary>
            Gets the attachment.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogStreamBeginMarkerBlockEventArgs">
      <summary>
            Arguments for an event raised to indicate that a marker block has been started within a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogStreamBeginMarkerBlockEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String,Gallio.Common.Markup.Marker)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="logStreamName">The log stream name.</param>
      <param name="marker">The marker.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" /> or <paramref name="logStreamName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLogStreamBeginMarkerBlockEventArgs.Marker">
      <summary>
            Gets the marker.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogStreamBeginSectionBlockEventArgs">
      <summary>
            Arguments for an event raised to indicate that a section has been started within a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogStreamBeginSectionBlockEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="logStreamName">The log stream name.</param>
      <param name="sectionName">The name of the section that was started.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" />, <paramref name="logStreamName" />, or <paramref name="sectionName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLogStreamBeginSectionBlockEventArgs.SectionName">
      <summary>
            Gets the name of the section that was started.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogStreamEmbedEventArgs">
      <summary>
            Arguments for an event raised to indicate that an attachment has been embedded into a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogStreamEmbedEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="logStreamName">The log stream name.</param>
      <param name="attachmentName">The name of the attachment that was embedded.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" />, <paramref name="logStreamName" />, or <paramref name="attachmentName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLogStreamEmbedEventArgs.AttachmentName">
      <summary>
            Gets the name of the attachment that was embedded.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogStreamEndBlockEventArgs">
      <summary>
            Arguments for an event raised to indicate that a block has been finished within a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogStreamEndBlockEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="logStreamName">The log stream name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" /> or <paramref name="logStreamName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogStreamEventArgs">
      <summary>
            Base arguments for an event raised to indicate that a test step log stream has been modified in some way.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogStreamEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="logStreamName">The log stream name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" /> or <paramref name="logStreamName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLogStreamEventArgs.LogStreamName">
      <summary>
            Gets the log stream name.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepLogStreamWriteEventArgs">
      <summary>
            Arguments for an event raised to indicate that text has been written to a test step log stream.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepLogStreamWriteEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="logStreamName">The log stream name.</param>
      <param name="text">The text that was written.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" /> or <paramref name="logStreamName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepLogStreamWriteEventArgs.Text">
      <summary>
            Gets the text that was written.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepMetadataAddedEventArgs">
      <summary>
            Arguments for an event raised to indicate that a test step dynamically added metadata to itself.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepMetadataAddedEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun,System.String,System.String)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <param name="metadataKey">The metadata key.</param>
      <param name="metadataValue">The metadata value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" /><paramref name="testStepRun" />, <paramref name="metadataKey" /> or <paramref name="metadataValue" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepMetadataAddedEventArgs.MetadataKey">
      <summary>
            Gets the metadata key.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Events.TestStepMetadataAddedEventArgs.MetadataValue">
      <summary>
            Gets the metadata value.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Events.TestStepStartedEventArgs">
      <summary>
            Arguments for an event raised to indicate that a test step has started execution.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Events.TestStepStartedEventArgs.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Model.Schema.TestData,Gallio.Runner.Reports.Schema.TestStepRun)">
      <summary>
            Initializes the event arguments.
            </summary>
      <param name="report">The report.</param>
      <param name="test">The test data.</param>
      <param name="testStepRun">The test step run.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" />, <paramref name="test" />
            or <paramref name="testStepRun" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Extensions.DebugExtension">
      <summary>
            Monitors <see cref="T:Gallio.Runner.ITestRunner" /> events and writes debug messages to the
            runner's logger.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.DebugExtension.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Extensions.DebugExtension" /> class</summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.DebugExtension.Initialize">
      <summary>
            Initializes the extension as part of extension installation.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Extensions.DefaultTestRunnerExtensionManager">
      <summary>
            Default implementation of <see cref="T:Gallio.Runner.Extensions.ITestRunnerExtensionManager" /></summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.DefaultTestRunnerExtensionManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Runner.Extensions.ITestRunnerExtensionFactory,Gallio.Runner.Extensions.TestRunnerExtensionFactoryTraits}[],Gallio.Runtime.IRuntime)">
      <summary>
            Creates a test runner extension manager.
            </summary>
      <param name="factoryHandles">The factory handles, not null.</param>
      <param name="runtime">The runtime, not null.</param>
    </member>
    <member name="M:Gallio.Runner.Extensions.DefaultTestRunnerExtensionManager.RegisterAutoActivatedExtensions(Gallio.Runner.ITestRunner)">
      <summary>
            Registers auto-activated extensions with the test runner.
            </summary>
      <param name="testRunner">The test runner.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testRunner" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Extensions.ITestRunnerExtension">
      <summary>
            A test runner extension plugs augments the behavior oa <see cref="T:Gallio.Runner.ITestRunner" />
            by attaching new behaviors to its event handlers.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.ITestRunnerExtension.Install(Gallio.Runner.Events.ITestRunnerEvents,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Installs the extension into a test runner.
            </summary>
      <param name="events">The test runner events, not null.</param>
      <param name="logger">The logger, not null.</param>
    </member>
    <member name="P:Gallio.Runner.Extensions.ITestRunnerExtension.Parameters">
      <summary>
            Gets or sets configuration parameters for the extension.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Extensions.ITestRunnerExtensionFactory">
      <summary>
            Creates instances of <see cref="T:Gallio.Runner.Extensions.ITestRunnerExtension" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.ITestRunnerExtensionFactory.CreateExtension">
      <summary>
            Creates the extension.
            </summary>
      <returns>The extension to create.</returns>
    </member>
    <member name="T:Gallio.Runner.Extensions.ITestRunnerExtensionManager">
      <summary>
            Manages the set of available test runner extensions.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.ITestRunnerExtensionManager.RegisterAutoActivatedExtensions(Gallio.Runner.ITestRunner)">
      <summary>
            Registers auto-activated extensions with the test runner.
            </summary>
      <param name="testRunner">The test runner.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testRunner" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Extensions.LogExtension">
      <summary>
            The log extension writes a summary of test execution progress to the test runner's logger
            so the user can monitor what's going on.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.LogExtension.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Extensions.LogExtension" /> class</summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.LogExtension.Initialize">
      <summary>
            Initializes the extension as part of extension installation.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.LogExtension.LogAnnotation(Gallio.Model.Schema.AnnotationData)">
      <summary>
            Logs an annotation.
            </summary>
      <param name="annotation">The annotation to log.</param>
    </member>
    <member name="M:Gallio.Runner.Extensions.LogExtension.LogNonTestCaseProblem(Gallio.Runner.Events.TestStepFinishedEventArgs)">
      <summary>
            Logs a message about a non-test case that has finished with some problem that
            may have prevented other test cases from running correctly.
            </summary>
      <param name="e">The event.</param>
    </member>
    <member name="M:Gallio.Runner.Extensions.LogExtension.LogTestCaseFinished(Gallio.Runner.Events.TestStepFinishedEventArgs)">
      <summary>
            Logs a message about a test case that has finished.
            </summary>
      <param name="e">The event.</param>
    </member>
    <member name="M:Gallio.Runner.Extensions.LogExtension.LogTestCaseStarted(Gallio.Runner.Events.TestStepStartedEventArgs)">
      <summary>
            Logs a message about a test case that has started.
            </summary>
      <param name="e">The event.</param>
    </member>
    <member name="T:Gallio.Runner.Extensions.TestRunnerExtension">
      <summary>
            Abstract implementation of a test runner extension.
            <seealso cref="T:Gallio.Runner.Extensions.ITestRunnerExtension" /> for more details.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.TestRunnerExtension.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Extensions.TestRunnerExtension" /> class</summary>
    </member>
    <member name="P:Gallio.Runner.Extensions.TestRunnerExtension.Events">
      <summary>
            Gets the test runner event extension point.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.TestRunnerExtension.Initialize">
      <summary>
            Initializes the extension as part of extension installation.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.TestRunnerExtension.Install(Gallio.Runner.Events.ITestRunnerEvents,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Installs the extension into a test runner.
            </summary>
      <param name="events">The test runner events, not null.</param>
      <param name="logger">The logger, not null.</param>
    </member>
    <member name="P:Gallio.Runner.Extensions.TestRunnerExtension.Logger">
      <summary>
            Gets the logger.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Extensions.TestRunnerExtension.Parameters">
      <summary>
            Gets or sets configuration parameters for the extension.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Extensions.TestRunnerExtensionFactoryTraits">
      <summary>
            Provides traits for <see cref="T:Gallio.Runner.Extensions.ITestRunnerExtensionFactory" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.TestRunnerExtensionFactoryTraits.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Extensions.TestRunnerExtensionFactoryTraits" /> class</summary>
    </member>
    <member name="P:Gallio.Runner.Extensions.TestRunnerExtensionFactoryTraits.AutoActivationCondition">
      <summary>
            Gets or sets a condition (using the syntax of <see cref="T:Gallio.Common.Condition" /> that
            governs whether the extension provided by the factory should be automatically
            installed on every run.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Extensions.TestRunnerExtensionUtils">
      <summary>
            Provides utilities for manipulating test runner extensions.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Extensions.TestRunnerExtensionUtils.CreateExtensionFromSpecification(System.String)">
      <summary>
            Creates an extension from its specification.
            </summary>
      <param name="extensionSpecification">The extension specification.</param>
      <returns>The extension.</returns>
      <exception cref="T:Gallio.Runner.RunnerException">Thrown if the extension cannot be instantiated and configured.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extensionSpecification" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Projects.DefaultTestProjectManager">
      <summary>
            Default implementation of a test project manager.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.DefaultTestProjectManager.#ctor(Gallio.Common.IO.IFileSystem,Gallio.Common.Xml.IXmlSerializer)">
      <summary>
            Constructor.
            </summary>
      <param name="fileSystem">The file system.</param>
      <param name="xmlSerializer">The Xml serializer.</param>
    </member>
    <member name="M:Gallio.Runner.Projects.DefaultTestProjectManager.LoadProject(System.IO.FileInfo)">
      <summary>
            Loads a saved test project.
            </summary>
      <param name="testProjectFile">The test project file to load.</param>
      <returns>The loaded test project.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testProjectFile" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the test project cannot be loaded.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the test project is malformed.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.DefaultTestProjectManager.NewProject(System.String)">
      <summary>
            Creates a new project.
            </summary>
      <param name="projectName">The location of the project to be created.</param>
      <returns>The loaded test project.</returns>
      <exception cref="T:System.ArgumentException">Thrown if the project name is null or empty.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.DefaultTestProjectManager.SaveProject(Gallio.Runner.Projects.TestProject,System.IO.FileInfo)">
      <summary>
            Saves a test project.
            </summary>
      <param name="testProject">The test project.</param>
      <param name="testProjectFile">The test project file to save.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testProject" /> or
            <paramref name="testProjectFile" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the test project cannot be saved.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the test project is malformed.</exception>
    </member>
    <member name="T:Gallio.Runner.Projects.ITestProjectManager">
      <summary>
            Provides services for loading and saving test projects.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.ITestProjectManager.LoadProject(System.IO.FileInfo)">
      <summary>
            Loads a saved test project.
            </summary>
      <param name="testProjectFile">The test project file to load.</param>
      <returns>The loaded test project.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testProjectFile" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the test project cannot be loaded.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the test project is malformed.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.ITestProjectManager.NewProject(System.String)">
      <summary>
            Creates a new project.
            </summary>
      <param name="projectName">The location of the project to be created.</param>
      <returns>The loaded test project.</returns>
      <exception cref="T:System.ArgumentException">Thrown if the project name is null or empty.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.ITestProjectManager.SaveProject(Gallio.Runner.Projects.TestProject,System.IO.FileInfo)">
      <summary>
            Saves a test project.
            </summary>
      <param name="testProject">The test project.</param>
      <param name="testProjectFile">The test project file to save.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testProject" /> or
            <paramref name="testProjectFile" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the test project cannot be saved.</exception>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the test project is malformed.</exception>
    </member>
    <member name="T:Gallio.Runner.Projects.TestProject">
      <summary>
            A test project consists of a test package with a list of test files, a list
            of test extensions, and report options.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.#ctor">
      <summary>
            Creates an empty test project.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.AddTestFilter(Gallio.Runner.Projects.Schema.FilterInfo)">
      <summary>
            Adds a test filter if not already added.
            </summary>
      <param name="filter">The filter to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.AddTestRunnerExtension(Gallio.Runner.Extensions.ITestRunnerExtension)">
      <summary>
            Adds a test runner extension if not already added.
            </summary>
      <param name="extension">The test runner extension to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extension" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.AddTestRunnerExtensionSpecification(System.String)">
      <summary>
            Adds a test runner extension specification if not already added.
            </summary>
      <param name="extensionSpecification">The test runner extension specification to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extensionSpecification" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ApplyOverlay(Gallio.Runner.Projects.TestProject)">
      <summary>
            Applies the settings of another test project as an overlay on top of this one.
            </summary>
      <param name="overlay">The test project to overlay on top of this one.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="overlay" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ClearTestFilters">
      <summary>
            Clears the list of test filters.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ClearTestRunnerExtensions">
      <summary>
            Clears the list of test runner extensions.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ClearTestRunnerExtensionSpecifications">
      <summary>
            Clears the list of test runner extension specifications.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.Copy">
      <summary>
            Creates a copy of the test project.
            </summary>
      <returns>The new copy.</returns>
    </member>
    <member name="F:Gallio.Runner.Projects.TestProject.DefaultReportDirectoryRelativePath">
      <summary>
            The default report directory relative path.
            </summary>
    </member>
    <member name="F:Gallio.Runner.Projects.TestProject.DefaultReportNameFormat">
      <summary>
            The default report name format.
            </summary>
    </member>
    <member name="F:Gallio.Runner.Projects.TestProject.DefaultTestRunnerFactoryName">
      <summary>
            The default test runner factory name.
            </summary>
    </member>
    <member name="F:Gallio.Runner.Projects.TestProject.Extension">
      <summary>
            The file extension for Gallio project files.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.IsReportDirectorySpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Runner.Projects.TestProject.ReportDirectory" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.IsReportNameFormatSpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Runner.Projects.TestProject.ReportNameFormat" /> has been set explicitly.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.IsTestRunnerFactoryNameSpecified">
      <summary>
            Returns true if <see cref="P:Gallio.Runner.Projects.TestProject.TestRunnerFactoryName" /> has been set explicitly.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.RemoveTestFilter(Gallio.Runner.Projects.Schema.FilterInfo)">
      <summary>
            Removes a test filter.
            </summary>
      <param name="filter">The filter to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.RemoveTestRunnerExtension(Gallio.Runner.Extensions.ITestRunnerExtension)">
      <summary>
            Removes a test runner extension.
            </summary>
      <param name="extension">The test runner extension to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extension" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.RemoveTestRunnerExtensionSpecification(System.String)">
      <summary>
            Removes a test runner extension specification.
            </summary>
      <param name="extensionSpecification">The test runner extension specification to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="extensionSpecification" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.ReportDirectory">
      <summary>
            Gets or sets the folder to save generated reports to. 
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.ReportNameFormat">
      <summary>
            The format for the filename of generated reports.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ResetReportDirectory">
      <summary>
            Resets <see cref="P:Gallio.Runner.Projects.TestProject.ReportDirectory" /> to its default value and sets <see cref="P:Gallio.Runner.Projects.TestProject.IsReportDirectorySpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ResetReportNameFormat">
      <summary>
            Resets <see cref="P:Gallio.Runner.Projects.TestProject.ReportNameFormat" /> to its default value and sets <see cref="P:Gallio.Runner.Projects.TestProject.IsReportNameFormatSpecified" /> to false.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.TestProject.ResetTestRunnerFactoryName">
      <summary>
            Resets <see cref="P:Gallio.Runner.Projects.TestProject.TestRunnerFactoryName" /> to its default value and sets <see cref="P:Gallio.Runner.Projects.TestProject.IsTestRunnerFactoryNameSpecified" /> to false.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.TestFilters">
      <summary>
            Gets a read-only list of test filters.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.TestPackage">
      <summary>
            Gets or sets the test package.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.TestRunnerExtensions">
      <summary>
            Gets a read-only list of test runner extensions.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.TestRunnerExtensionSpecifications">
      <summary>
            Gets a read-only list of test runner extension specifications.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.TestProject.TestRunnerFactoryName">
      <summary>
            Gets or sets the name of a <see cref="T:Gallio.Runner.ITestRunnerFactory" /> to use for constructing
            the <see cref="T:Gallio.Runner.ITestRunner" /> at test execution time.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Projects.Schema.FilterInfo">
      <summary>
            Filter record for Gallio project.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.FilterInfo.#ctor(System.String,System.String)">
      <summary>
            Creates a filter description.
            </summary>
      <param name="filterName">The name of the filter.</param>
      <param name="filterExpr">The filter expression.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="filterName" /> or
            <paramref name="filterExpr" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.FilterInfo.Copy">
      <summary>
            Creates a copy of the filter.
            </summary>
      <returns>The new copy.</returns>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.FilterInfo.FilterExpr">
      <summary>
            Gets or sets a string representation of the filter expression.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.FilterInfo.FilterName">
      <summary>
            Gets or sets the name of the filter.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.FilterInfo.Validate"></member>
    <member name="T:Gallio.Runner.Projects.Schema.TestProjectData">
      <summary>
            Describes a test project in a portable manner for serialization.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.#ctor">
      <summary>
            Creates an empty test project.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.#ctor(Gallio.Runner.Projects.TestProject)">
      <summary>
            Copies the contents of a test project.
            </summary>
      <param name="source">The source test project.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.InitializeTestProject(Gallio.Runner.Projects.TestProject)">
      <summary>
            Initializes a test project with the contents of this structure.
            </summary>
      <param name="testProject">The test project to populate.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testProject" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.MakeAbsolutePaths(System.String)">
      <summary>
            Makes the test project paths absolute given the specified base path.
            </summary>
      <param name="basePath">The base path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="basePath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.MakeRelativePaths(System.String)">
      <summary>
            Makes the test project paths relative to the specified base path.
            </summary>
      <param name="basePath">The base path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="basePath" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.TestProjectData.ReportDirectory">
      <summary>
            Gets or sets the folder to save generated reports to. 
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.TestProjectData.ReportNameFormat">
      <summary>
            Gets or sets the format for the filename of generated reports.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.TestProjectData.TestFilters">
      <summary>
            Gets a mutable list of named test filters for the project.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.TestProjectData.TestPackage">
      <summary>
            Gets or sets the test package.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Projects.Schema.TestProjectData.TestRunnerExtensions">
      <summary>
            Gets a mutable list of test runner extensions used by the project.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.ToTestProject">
      <summary>
            Creates a test project with the contents of this structure.
            </summary>
      <returns>The test project.</returns>
    </member>
    <member name="M:Gallio.Runner.Projects.Schema.TestProjectData.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.DefaultReportManager">
      <summary>
            The default implementation of <see cref="T:Gallio.Runner.Reports.IReportManager" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Runner.Reports.IReportFormatter,Gallio.Runner.Reports.ReportFormatterTraits}[])">
      <summary>
            Creates a report manager.
            </summary>
      <param name="formatterHandles">The report formatter handles.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatterHandles" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportManager.CreateReportReader(Gallio.Runner.Reports.IReportContainer)">
      <summary>
            Gets a report reader to load a report from the specified container.
            </summary>
      <param name="reportContainer">The report container.</param>
      <returns>The report reader.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportContainer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportManager.CreateReportWriter(Gallio.Runner.Reports.Schema.Report,Gallio.Runner.Reports.IReportContainer)">
      <summary>
            Gets a report writer to save or format a report to the specified container.
            </summary>
      <param name="report">The report.</param>
      <param name="reportContainer">The report container.</param>
      <returns>The report writer.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> or <paramref name="reportContainer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportManager.Format(Gallio.Runner.Reports.IReportWriter,System.String,Gallio.Runner.Reports.ReportFormatterOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Formats the report indicated by the report writer.
            </summary>
      <param name="reportWriter">The report writer.</param>
      <param name="formatterName">The formatter name.</param>
      <param name="formatterOptions">The report formatter options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportWriter" />, <paramref name="formatterName" />,
            <paramref name="formatterOptions" /> or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no formatter with the specified name.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.DefaultReportManager.FormatterHandles">
      <summary>
            Gets handles for all registered formatters.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportManager.GetReportFormatter(System.String)">
      <summary>
            Gets the report formatter with the specified name, or null if none.
            </summary>
      <param name="formatterName">The formatter name.</param>
      <returns>The formatter, or null on failure.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatterName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.DefaultReportReader">
      <summary>
            Default implementation of a report reader.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportReader.#ctor(Gallio.Runner.Reports.IReportContainer)">
      <summary>
            Creates a report reader.
            </summary>
      <param name="reportContainer">The report container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportContainer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportReader.LoadReport(System.Boolean,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Loads the report from an XML file.
            </summary>
      <param name="loadAttachmentContents">If true, loads attachment
            contents in referenced content files if they were not embedded otherwise
            the attachment contents are not loaded (but may be loaded later using <see cref="M:Gallio.Runner.Reports.IReportReader.LoadReportAttachments(Gallio.Runner.Reports.Schema.Report,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" />).</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The loaded report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor " /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportReader.LoadReportAttachments(Gallio.Runner.Reports.Schema.Report,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Loads referenced report attachments from the container.
            </summary>
      <param name="report">The report whose attachments are to be loaded.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> or <paramref name="progressMonitor " /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.DefaultReportReader.ReportContainer">
      <summary>
            Gets the report container.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.DefaultReportWriter">
      <summary>
            Default implementation of a report writer.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportWriter.#ctor(Gallio.Runner.Reports.Schema.Report,Gallio.Runner.Reports.IReportContainer)">
      <summary>
            Creates a report writer for the specified report.
            </summary>
      <param name="report">The report.</param>
      <param name="reportContainer">The report container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> or <paramref name="reportContainer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportWriter.AddReportDocumentPath(System.String)">
      <summary>
            Adds the path of a report document that has been created within the report container.
            </summary>
      <param name="path">The document path.</param>
    </member>
    <member name="P:Gallio.Runner.Reports.DefaultReportWriter.Report">
      <summary>
            Gets the report being generated.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.DefaultReportWriter.ReportContainer">
      <summary>
            Gets the report container.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.DefaultReportWriter.ReportDocumentPaths">
      <summary>
            Gets the paths of all report documents that have been generated within
            the report container.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportWriter.SaveReport(Gallio.Common.Markup.AttachmentContentDisposition,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Saves the report as an XML file.
            </summary>
      <param name="attachmentContentDisposition">The content disposition to use for all attachments.  If
            the content disposition is <see cref="F:Gallio.Common.Markup.AttachmentContentDisposition.Link" /> then
            this method will automatically call <see cref="M:Gallio.Runner.Reports.IReportWriter.SaveReportAttachments(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" /> to save the attachments.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportWriter.SaveReportAttachments(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Saves all report attachments as individual content files to the container.
            </summary>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.DefaultReportWriter.SerializeReport(System.Xml.XmlWriter,Gallio.Common.Markup.AttachmentContentDisposition)">
      <summary>
            Serializes the report to XML.
            </summary>
      <param name="xmlWriter">The XML writer.</param>
      <param name="attachmentContentDisposition">The content disposition to use for all attachments.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xmlWriter" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.FileSystemReportContainer">
      <summary>
            A file-system based representation of a report container that uses
            ordinary files and folders to store report contents.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.FileSystemReportContainer.#ctor(System.String,System.String)">
      <summary>
            Creates a file-system based representation of a report container.
            </summary>
      <param name="reportDirectory">The report directory path.</param>
      <param name="reportName">The report name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportDirectory" /> or
            <paramref name="reportName" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="reportName" /> is an empty string.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.FileSystemReportContainer.DeleteReport">
      <summary>
            Deletes the entire contents of the report in all of its formats.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.FileSystemReportContainer.EncodeFileName(System.String)">
      <summary>
            Replaces invalid characters in a file or directory name with underscores
            and trims it if it is too long.
            </summary>
      <param name="fileName">The file or directory name.</param>
      <returns>The encoded file or directory name.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.FileSystemReportContainer.OpenRead(System.String)">
      <summary>
            Opens a report file for reading.
            </summary>
      <param name="path">The relative path of the report file within the container.</param>
      <returns>The stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.FileSystemReportContainer.OpenWrite(System.String,System.String,System.Text.Encoding)">
      <summary>
            Opens a report file for writing, overwriting any previous file with the same name.
            </summary>
      <param name="path">The path of the report file.</param>
      <param name="contentType">The content type of the file, or null if not specified.</param>
      <param name="encoding">The text encoding of the file, or null if not specified or if the file is binary.</param>
      <returns>The stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.FileSystemReportContainer.ReportDirectory">
      <summary>
            Gets the full-path of the report directory.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.FileSystemReportContainer.ReportName">
      <summary>
            Gets the base name of the report.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.IReportContainer">
      <summary>
            A report container that is used to load or save the contents of a report.  
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportContainer.DeleteReport">
      <summary>
            Deletes the entire contents of the report in all of its formats.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportContainer.EncodeFileName(System.String)">
      <summary>
            Replaces invalid characters in a file or directory name with underscores
            and trims it if it is too long.
            </summary>
      <param name="fileName">The file or directory name.</param>
      <returns>The encoded file or directory name.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportContainer.OpenRead(System.String)">
      <summary>
            Opens a report file for reading.
            </summary>
      <param name="path">The relative path of the report file within the container.</param>
      <returns>The stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportContainer.OpenWrite(System.String,System.String,System.Text.Encoding)">
      <summary>
            Opens a report file for writing, overwriting any previous file with the same name.
            </summary>
      <param name="path">The path of the report file.</param>
      <param name="contentType">The content type of the file, or null if not specified.</param>
      <param name="encoding">The text encoding of the file, or null if not specified or if the file is binary.</param>
      <returns>The stream.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if an I/O error occurs.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.IReportContainer.ReportName">
      <summary>
            Gets the base name of the report.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.IReportFormatter">
      <summary>
            A report formatter provides a strategy for formatting reports for human consumption.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportFormatter.Format(Gallio.Runner.Reports.IReportWriter,Gallio.Runner.Reports.ReportFormatterOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Formats the report indicated by the report writer.
            </summary>
      <param name="reportWriter">The report writer.</param>
      <param name="formatterOptions">The report formatter options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportWriter" />,
            <paramref name="formatterOptions" /> or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.IReportManager">
      <summary>
            The report manager provides services for manipulating reports.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportManager.CreateReportReader(Gallio.Runner.Reports.IReportContainer)">
      <summary>
            Gets a report reader to load a report from the specified container.
            </summary>
      <param name="reportContainer">The report container.</param>
      <returns>The report reader.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportContainer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportManager.CreateReportWriter(Gallio.Runner.Reports.Schema.Report,Gallio.Runner.Reports.IReportContainer)">
      <summary>
            Gets a report writer to save or format a report to the specified container.
            </summary>
      <param name="report">The report.</param>
      <param name="reportContainer">The report container.</param>
      <returns>The report writer.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> or <paramref name="reportContainer" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportManager.Format(Gallio.Runner.Reports.IReportWriter,System.String,Gallio.Runner.Reports.ReportFormatterOptions,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Formats the report indicated by the report writer.
            </summary>
      <param name="reportWriter">The report writer.</param>
      <param name="formatterName">The formatter name.</param>
      <param name="formatterOptions">The report formatter options.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reportWriter" />, <paramref name="formatterName" />,
            <paramref name="formatterOptions" /> or <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if there is no formatter with the specified name.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.IReportManager.FormatterHandles">
      <summary>
            Gets handles for all registered formatters.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportManager.GetReportFormatter(System.String)">
      <summary>
            Gets the report formatter with the specified name, or null if none.
            </summary>
      <param name="formatterName">The formatter name.</param>
      <returns>The formatter, or null on failure.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatterName" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.IReportReader">
      <summary>
            A report writer provides services for loading a previously saved report
            from a <see cref="T:Gallio.Runner.Reports.IReportContainer" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportReader.LoadReport(System.Boolean,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Loads the report from an XML file.
            </summary>
      <param name="loadAttachmentContents">If true, loads attachment
            contents in referenced content files if they were not embedded otherwise
            the attachment contents are not loaded (but may be loaded later using <see cref="M:Gallio.Runner.Reports.IReportReader.LoadReportAttachments(Gallio.Runner.Reports.Schema.Report,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" />).</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The loaded report.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor " /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportReader.LoadReportAttachments(Gallio.Runner.Reports.Schema.Report,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Loads referenced report attachments from the container.
            </summary>
      <param name="report">The report whose attachments are to be loaded.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="report" /> or <paramref name="progressMonitor " /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.IReportReader.ReportContainer">
      <summary>
            Gets the report container.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.IReportWriter">
      <summary>
            A report writer provides services for formatting or saving a report
            to a <see cref="T:Gallio.Runner.Reports.IReportContainer" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportWriter.AddReportDocumentPath(System.String)">
      <summary>
            Adds the path of a report document that has been created within the report container.
            </summary>
      <param name="path">The document path.</param>
    </member>
    <member name="P:Gallio.Runner.Reports.IReportWriter.Report">
      <summary>
            Gets the report being generated.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.IReportWriter.ReportContainer">
      <summary>
            Gets the report container.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.IReportWriter.ReportDocumentPaths">
      <summary>
            Gets the paths of all report documents that have been generated within
            the report container.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportWriter.SaveReport(Gallio.Common.Markup.AttachmentContentDisposition,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Saves the report as an XML file.
            </summary>
      <param name="attachmentContentDisposition">The content disposition to use for all attachments.  If
            the content disposition is <see cref="F:Gallio.Common.Markup.AttachmentContentDisposition.Link" /> then
            this method will automatically call <see cref="M:Gallio.Runner.Reports.IReportWriter.SaveReportAttachments(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)" /> to save the attachments.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportWriter.SaveReportAttachments(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Saves all report attachments as individual content files to the container.
            </summary>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.IReportWriter.SerializeReport(System.Xml.XmlWriter,Gallio.Common.Markup.AttachmentContentDisposition)">
      <summary>
            Serializes the report to XML.
            </summary>
      <param name="xmlWriter">The XML writer.</param>
      <param name="attachmentContentDisposition">The content disposition to use for all attachments.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="xmlWriter" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.ReportContainerUtils">
      <summary>
            Utilities for working with <see cref="T:Gallio.Runner.Reports.IReportContainer" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportContainerUtils.CopyToReport(Gallio.Runner.Reports.IReportContainer,System.String,System.String)">
      <summary>
            Recursively copies files and folders from the source path in the native
            file system to the destination path within the report container.
            </summary>
      <param name="container">The container.</param>
      <param name="sourcePathInFileSystem">The source file or directory path in the native file system.</param>
      <param name="destPathInContainer">The destination file or directory path in the report container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="container" />,
            <paramref name="sourcePathInFileSystem" /> or <paramref name="destPathInContainer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.ReportFormatterOptions">
      <summary>
            Provides options to report formatters.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportFormatterOptions.#ctor">
      <summary>
            Creates a default set of options.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportFormatterOptions.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportFormatterOptions.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportFormatterOptions.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runner.Reports.ReportFormatterOptions.Properties">
      <summary>
            Gets a read-only collection of configuration properties for the report formatter.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportFormatterOptions.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.ReportFormatterTraits">
      <summary>
            Describes traits of an <see cref="T:Gallio.Runner.Reports.IReportFormatter" /> component.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.ReportFormatterTraits.#ctor(System.String,System.String)">
      <summary>
            Creates report formatter traits.
            </summary>
      <param name="name">The unique name of the report format.</param>
      <param name="description">The description of report format.</param>
    </member>
    <member name="P:Gallio.Runner.Reports.ReportFormatterTraits.Description">
      <summary>
            Gets the description of the report format.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.ReportFormatterTraits.Name">
      <summary>
            Gets the unique name of the report format.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.Schema.LogEntry">
      <summary>
            Describes a log entry for reporting purposes.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.LogEntry.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Reports.Schema.LogEntry" /> class</summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.LogEntry.Details">
      <summary>
            Gets or sets the log message details, such as an exception.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.LogEntry.Message">
      <summary>
            Gets or sets the log message.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.LogEntry.Severity">
      <summary>
            Gets or sets the log message severity.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.Schema.Report">
      <summary>
            A report includes a description of the test package, the model objects,
            the combined results of all test runs and summary statistics.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Report.#ctor">
      <summary>
            Creates an empty report.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Report.AddLogEntry(Gallio.Runner.Reports.Schema.LogEntry)">
      <summary>
            Adds a log entry to the report.
            </summary>
      <param name="logEntry">The log entry to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logEntry" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Report.LogEntries">
      <summary>
            Gets a mutable list of log entries.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Report.TestModel">
      <summary>
            Gets or sets the test model, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Report.TestPackage">
      <summary>
            Gets or sets the test package configuration, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Report.TestPackageRun">
      <summary>
            Gets or sets the test package run results, or null if none.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.Schema.Statistics">
      <summary>
            Collects summary statistics about test execution for reporting purposes.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Statistics.#ctor">
      <summary>
            Creates an empty statistics record.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Statistics.AddOutcome(Gallio.Model.TestOutcome)">
      <summary>
            Updates the test outcome statistics counters with an the outcome of a test.
            </summary>
      <param name="outcome">The test outcome.</param>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.AssertCount">
      <summary>
            Gets or sets the number of assertions evaluated.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.Duration">
      <summary>
            Gets or sets the total duration summarized tests in seconds.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.FailedCount">
      <summary>
            Gets or sets the number of test cases that ran and failed.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Statistics.FormatTestCaseResultSummary">
      <summary>
            Formats a single line of text summarizing test case results.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Statistics.GetOutcomeCount(Gallio.Model.TestOutcome)">
      <summary>
            Gets the number of tests with the specified outcome.
            </summary>
      <param name="outcome">The outcome.</param>
      <returns>The number of tests with the specified outcome.</returns>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.InconclusiveCount">
      <summary>
            Gets or sets the number of test cases that ran and were inconclusive.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Statistics.MergeStepStatistics(Gallio.Runner.Reports.Schema.TestStepRun)">
      <summary>
            Merges statistics from a test step run, incrementing the relevant counters.
            </summary>
      <param name="testStepRun">The test step run.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testStepRun" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.OutcomeSummaries">
      <summary>
            Gets or sets the test outcome summaries.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.PassedCount">
      <summary>
            Gets or sets the number of test cases that ran and passed.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.RunCount">
      <summary>
            Gets or sets the number of test cases that were run.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.Statistics.SetOutcomeCount(Gallio.Model.TestOutcome,System.Int32)">
      <summary>
            Ssets the number of tests with the specified outcomee.
            </summary>
      <param name="outcome">The outcome.</param>
      <param name="count">The count.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="count" /> is less than 0.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.SkippedCount">
      <summary>
            Gets or sets the number of test cases that did not run.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.StepCount">
      <summary>
            Gets or sets the total number of test steps.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.Statistics.TestCount">
      <summary>
            Gets or sets the total number of test cases.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.Schema.TestOutcomeSummary">
      <summary>
            Describes the number of test cases with a particular <see cref="T:Gallio.Model.TestOutcome" />.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.TestOutcomeSummary.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runner.Reports.Schema.TestOutcomeSummary" /> class</summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestOutcomeSummary.Count">
      <summary>
            Gets or sets the number of test cases with the specified outcome.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestOutcomeSummary.Outcome">
      <summary>
            Gets or sets the outcome.
            </summary>
    </member>
    <member name="T:Gallio.Runner.Reports.Schema.TestPackageRun">
      <summary>
            Summarizes the execution of a test package for reporting purposes.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.TestPackageRun.#ctor">
      <summary>
            Creates an empty package run.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestPackageRun.AllTestStepRuns">
      <summary>
            Recursively enumerates all test step runs including the root test step run.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestPackageRun.EndTime">
      <summary>
            Gets or sets the time when the package run ended.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestPackageRun.RootTestStepRun">
      <summary>
            Gets or sets the root test step run, or null if the root test has not run.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestPackageRun.StartTime">
      <summary>
            Gets or sets the time when the package run started.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestPackageRun.Statistics">
      <summary>
            Gets or sets the statistics for the package run.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runner.Reports.Schema.TestStepRun">
      <summary>
            Summarizes the execution of a single test step for reporting purposes.
            </summary>
    </member>
    <member name="M:Gallio.Runner.Reports.Schema.TestStepRun.#ctor(Gallio.Model.Schema.TestStepData)">
      <summary>
            Creates a test run step.
            </summary>
      <param name="step">Information about the step.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="step" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.AllTestStepRuns">
      <summary>
            Recursively enumerates all test step runs including this one.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.Children">
      <summary>
            Gets the list of child step runs.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.EndTime">
      <summary>
            Gets or sets the time when the test run ended.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.Result">
      <summary>
            Gets or sets the test result from the run.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.StartTime">
      <summary>
            Gets or sets the time when the test run started.
            </summary>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.Step">
      <summary>
            Gets or sets information about the step.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runner.Reports.Schema.TestStepRun.TestLog">
      <summary>
            Gets or sets the test log.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.DefaultRuntime">
      <summary>
            Default implementation of <see cref="T:Gallio.Runtime.IRuntime" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.#ctor(Gallio.Runtime.Extensibility.IRegistry,Gallio.Runtime.Extensibility.IPluginLoader,Gallio.Runtime.Loader.IAssemblyLoader,Gallio.Runtime.RuntimeSetup)">
      <summary>
            Initializes the runtime.
            </summary>
      <param name="registry">The registry.</param>
      <param name="pluginLoader">The plugin loader.</param>
      <param name="assemblyLoader">The assembly loader.</param>
      <param name="runtimeSetup">The runtime setup options.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="registry" />,
            <paramref name="pluginLoader" />, <paramref name="assemblyLoader" /> or
            <paramref name="runtimeSetup" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.AddLogListener(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Adds a log listener that will receive log messages dispatched to the runtime logger.
            </summary>
      <param name="logger">The log listener to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.DefaultRuntime.AssemblyLoader">
      <summary>
            Gets the runtime assembly loader.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.GetAllPluginAssemblyBindings">
      <summary>
            Gets the list of all plugin assembly bindings.
            </summary>
      <returns>The assembly bindings.</returns>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.GetRuntimeSetup">
      <summary>
            Gets a deep copy of the runtime setup used to configure this runtime.
            </summary>
      <returns>The runtime setup.</returns>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.Initialize">
      <summary>
            Initializes the runtime.
            </summary>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the runtime could not be initialized.</exception>
    </member>
    <member name="P:Gallio.Runtime.DefaultRuntime.Logger">
      <summary>
            Gets the runtime logger.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.DefaultRuntime.LogMessage">
      <summary>
            An event that is fired when a log message is sent to the runtime logger.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.DefaultRuntime.Registry">
      <summary>
            Gets the plugin, service and component registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.RemoveLogListener(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Removes a log listener so that it will no longer receive log messages dispatched to the runtime logger.
            </summary>
      <param name="logger">The log listener to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.DefaultRuntime.ResourceLocator">
      <summary>
            Gets the resource locator.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.DefaultRuntime.RuntimeConditionContext">
      <summary>
            Gets the condition context that is used to enable or disable plugins,
            components and services based on characteristics of the runtime environment.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.DefaultRuntime.ServiceLocator">
      <summary>
            Gets the service locator.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.DefaultRuntime.VerifyInstallation">
      <summary>
            Verifies that the runtime is correctly installed.  Writes details to the log.
            </summary>
      <returns>True if the installation appears ok.</returns>
    </member>
    <member name="T:Gallio.Runtime.GallioSectionHandler">
      <summary>
            A configuration section handler for Gallio used to register
            Gallio components in applications and in plugins.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.GallioSectionHandler.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.GallioSectionHandler" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.GallioSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
      <summary>
                    Creates a configuration section handler.
                </summary>
      <param name="parent">
                    Parent object.
                </param>
      <param name="configContext">
                    Configuration context object.
                </param>
      <param name="section">
                    Section XML node.
                </param>
      <returns>
                    The created section handler object.
                </returns>
    </member>
    <member name="F:Gallio.Runtime.GallioSectionHandler.SectionName">
      <summary>
            The name of the Gallio section: "gallio".
            </summary>
    </member>
    <member name="T:Gallio.Runtime.InstallationConfiguration">
      <summary>
            Describes the configuration of a Gallio installation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.InstallationConfiguration" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.AddAdditionalPluginDirectory(System.String)">
      <summary>
            Adds an additional plugin directory if not already in the configuration.
            </summary>
      <param name="pluginDirectory">The relative or absolute path of a directory to be
            searched for plugin configuration files in addition to the
            primary Gallio directories.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginDirectory" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.InstallationConfiguration.AdditionalPluginDirectories">
      <summary>
            Gets a read-only list of additional plugin directories.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.ClearAdditionalPluginDirectories">
      <summary>
            Clears the list of additional plugin directories.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.InstallationConfiguration.InstallationFolder">
      <summary>
            Get or sets the folder where Gallio was installed, or null if Gallio is not installed.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.InstallationConfiguration.InstallationId">
      <summary>
            Gets or sets the unique id of this Gallio installation.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.InstallationConfiguration.InstalledVersion">
      <summary>
            Get or sets the version that was installed, or null if Gallio is not installed.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.LoadFromRegistry">
      <summary>
            Loads the configuration from the registry.
            </summary>
      <returns>The installed configuration.</returns>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.RemoveAdditionalPluginDirectory(System.String)">
      <summary>
            Removes an additional plugin directory.
            </summary>
      <param name="pluginDirectory">The plugin directory to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.SaveAdditionalPluginDirectoriesToRegistry">
      <summary>
            Saves the additional plugin directories into the registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.InstallationConfiguration.SaveInstallationIdToRegistry">
      <summary>
            Saves the installation id into the registry.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.IRuntime">
      <summary>
            The runtime is instantiated within the test runner to provide a suitable
            hosting environment for test enumeration and execution.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.IRuntime.AddLogListener(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Adds a log listener that will receive log messages dispatched to the runtime logger.
            </summary>
      <param name="logger">The log listener to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.IRuntime.AssemblyLoader">
      <summary>
            Gets the runtime assembly loader.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.IRuntime.GetAllPluginAssemblyBindings">
      <summary>
            Gets the list of all plugin assembly bindings.
            </summary>
      <returns>The assembly bindings.</returns>
    </member>
    <member name="M:Gallio.Runtime.IRuntime.GetRuntimeSetup">
      <summary>
            Gets a deep copy of the runtime setup used to configure this runtime.
            </summary>
      <returns>The runtime setup.</returns>
    </member>
    <member name="M:Gallio.Runtime.IRuntime.Initialize">
      <summary>
            Initializes the runtime.
            </summary>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the runtime could not be initialized.</exception>
    </member>
    <member name="P:Gallio.Runtime.IRuntime.Logger">
      <summary>
            Gets the runtime logger.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.IRuntime.LogMessage">
      <summary>
            An event that is fired when a log message is sent to the runtime logger.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.IRuntime.Registry">
      <summary>
            Gets the plugin, service and component registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.IRuntime.RemoveLogListener(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Removes a log listener so that it will no longer receive log messages dispatched to the runtime logger.
            </summary>
      <param name="logger">The log listener to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.IRuntime.ResourceLocator">
      <summary>
            Gets the resource locator.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.IRuntime.RuntimeConditionContext">
      <summary>
            Gets the condition context that is used to enable or disable plugins,
            components and services based on characteristics of the runtime environment.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.IRuntime.ServiceLocator">
      <summary>
            Gets the service locator.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.IRuntime.VerifyInstallation">
      <summary>
            Verifies that the runtime is correctly installed.  Writes details to the log.
            </summary>
      <returns>True if the installation appears ok.</returns>
    </member>
    <member name="T:Gallio.Runtime.RuntimeAccessor">
      <summary>
            Provides functions for obtaining runtime services.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.AssemblyLoader">
      <summary>
            Gets the runtime's assembly loader.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime has not been initialized.</exception>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.Instance">
      <summary>
            Gets the runtime instance.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime has not been initialized.</exception>
    </member>
    <member name="E:Gallio.Runtime.RuntimeAccessor.InstanceChanged">
      <summary>
            The event dispatched when the value of the current runtime
            <see cref="P:Gallio.Runtime.RuntimeAccessor.Instance" /> changes.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.IsInitialized">
      <summary>
            Returns true if the runtime has been initialized.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.Logger">
      <summary>
            Gets the runtime's logger, or a <see cref="T:Gallio.Runtime.Logging.NullLogger" /> if the runtime is not initialized.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.Registry">
      <summary>
            Gets the runtime's registry.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime has not been initialized.</exception>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.ResourceLocator">
      <summary>
            Gets the runtime's resource locator.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime has not been initialized.</exception>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.RuntimePath">
      <summary>
            Gets the path of the Gallio runtime components.
            </summary>
      <returns>The runtime path.</returns>
    </member>
    <member name="P:Gallio.Runtime.RuntimeAccessor.ServiceLocator">
      <summary>
            Gets the runtime's service locator.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime has not been initialized.</exception>
    </member>
    <member name="M:Gallio.Runtime.RuntimeAccessor.SetRuntime(Gallio.Runtime.IRuntime)">
      <summary>
            Sets the runtime instance.
            </summary>
      <param name="runtime">The runtime instance, or null if none.</param>
    </member>
    <member name="T:Gallio.Runtime.RuntimeBootstrap">
      <summary>
            Initializes and shuts down the runtime.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeBootstrap.Initialize(Gallio.Runtime.RuntimeSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Initializes the runtime.
            </summary>
      <param name="setup">The runtime setup parameters.</param>
      <param name="logger">The logger to attach, or null if none.</param>
      <returns>An object that when disposed automatically calls <see cref="M:Gallio.Runtime.RuntimeBootstrap.Shutdown" />.
            This is particularly useful in combination with the C# "using" statement
            or its equivalent.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="setup" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the runtime has already been initialized.</exception>
    </member>
    <member name="M:Gallio.Runtime.RuntimeBootstrap.Shutdown">
      <summary>
            Shuts down the runtime if it is currently initialized.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.RuntimeConditionContext">
      <summary>
            A condition context that is used to enable or disable plugins,
            components and services based on characteristics of the runtime environment.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeConditionContext.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.RuntimeConditionContext" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeConditionContext.HasPropertyImpl(System.String,System.String)">
      <summary>
            Returns true if the context contains a value for a given property.
            </summary>
      <param name="namespace">The property namespace, not null.</param>
      <param name="identifier">The property identifier, not null.</param>
      <returns>True if the context has the specified property.</returns>
    </member>
    <member name="T:Gallio.Runtime.RuntimeException">
      <summary>
            An exception that expresses a problem performing a runtime service.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Runtime.RuntimeException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Runtime.RuntimeException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Runtime.RuntimeSetup">
      <summary>
            Provides configuration parameters for setting up the <see cref="T:Gallio.Runtime.RuntimeAccessor" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.#ctor">
      <summary>
            Creates a default runtime setup.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.AddPluginDirectory(System.String)">
      <summary>
            Adds a plugin directory if not already in the configuration.
            </summary>
      <param name="pluginDirectory">The relative or absolute path of a directory to be
            searched for plugin configuration files in addition to the
            primary Gallio directories.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.Canonicalize(System.String)">
      <summary>
            Makes all paths in this instance absolute.
            </summary>
      <param name="baseDirectory">The base directory for resolving relative paths,
            or null to use the current directory.</param>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.ClearPluginDirectories">
      <summary>
            Clears the list of plugin directories.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.RuntimeSetup.ConfigurationFilePath">
      <summary>
            Gets or sets the path of the primary configuration file to be
            loaded by the runtime (if it exists).
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.Copy">
      <summary>
            Creates a deep copy of the runtime setup parameters.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.RuntimeSetup.InstallationConfiguration">
      <summary>
            Gets or sets the installation configuration which specifies characteristics
            about the Gallio installation on the local machine, or null to determine it automatically.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.RuntimeSetup.PluginDirectories">
      <summary>
            Gets a read-only list of relative or absolute paths of directories to be
            searched for plugin configuration files in addition to the
            primary Gallio directories.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.RemovePluginDirectory(System.String)">
      <summary>
            Removes a plugin directory.
            </summary>
      <param name="pluginDirectory">The plugin directory to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginDirectory" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.RuntimeSetup.RuntimePath">
      <summary>
            Gets or sets the runtime path, or null to determine it automatically
            based on the location of the application itself.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.RuntimeSetup.SetConfigurationFilePathFromAssembly(System.Reflection.Assembly)">
      <summary>
            Sets the configuration file path to the *.config file associated with an assembly.
            </summary>
      <param name="assembly">The assembly.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assembly" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute">
      <summary>
            Allows control of command line parsing.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.#ctor(Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags)">
      <summary>
            Allows control of command line parsing.
            </summary>
      <param name="flags">Specifies the error checking to be done on the argument.</param>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.Description">
      <summary>
            The description of the argument.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.Flags">
      <summary>
            The error checking to be done on the argument.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.IsDefaultLongName">
      <summary>
            Returns true if the argument did not have an explicit long name specified.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.IsDefaultShortName">
      <summary>
            Returns true if the argument did not have an explicit short name specified.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.LongName">
      <summary>
            The long name of the argument.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.ShortName">
      <summary>
            The short name of the argument.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.Synonyms">
      <summary>
            Gets or sets an array of additional synonyms that are silently accepted.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute.ValueLabel">
      <summary>
             The description of the argument value.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags">
      <summary>
            Used to control parsing of command line arguments.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags.Required">
      <summary>
            Indicates that this field is required. An error will be displayed
            if it is not present when parsing arguments.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags.Unique">
      <summary>
            Only valid in conjunction with Multiple.
            Duplicate values will result in an error.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags.Multiple">
      <summary>
            Inidicates that the argument may be specified more than once.
            Only valid if the argument is a collection
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags.AtMostOnce">
      <summary>
            The default type for non-collection arguments.
            The argument is not required, but an error will be reported if it is specified more than once.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags.LastOccurrenceWins">
      <summary>
            For non-collection arguments, when the argument is specified more than
            once no error is reported and the value of the argument is the last
            value which occurs in the argument list.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags.MultipleUnique">
      <summary>
            The default type for collection arguments.
            The argument is permitted to occur multiple times, but duplicate 
            values will cause an error to be reported.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.CommandLineArgumentParser">
      <summary>
            Parser for command line arguments.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineArgumentParser.#ctor(System.Type)">
      <summary>
            Creates a new command line argument parser.
            </summary>
      <param name="argumentSpecification">The argument type containing fields decorated
            with <see cref="T:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="argumentSpecification" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineArgumentParser.#ctor(System.Type,Gallio.Runtime.ConsoleSupport.ResponseFileReader)">
      <summary>
            Creates a new command line argument parser.
            </summary>
      <param name="argumentSpecification">The argument type containing fields decorated
            with <see cref="T:Gallio.Runtime.ConsoleSupport.CommandLineArgumentAttribute" /></param>
      <param name="responseFileReader">The delegate to use for reading response files instead of the default,
            or null to disable reading from response files.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="argumentSpecification" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineArgumentParser.Parse(System.String[],System.Object,Gallio.Runtime.ConsoleSupport.CommandLineErrorReporter)">
      <summary>
            Parses an argument list.
            </summary>
      <param name="args">The arguments to parse.</param>
      <param name="destination">The destination of the parsed arguments.</param>
      <param name="reporter">The error reporter.</param>
      <returns>True if no parse errors were encountered.</returns>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineArgumentParser.ShowUsage(Gallio.Runtime.ConsoleSupport.CommandLineOutput)">
      <summary>
            Prints a user friendly usage string describing the command line argument syntax.
            </summary>
      <param name="output">The command line output.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineArgumentParser.ShowUsageInMessageBox(System.String)">
      <summary>
            Prints a user friendly usage string describing the command line argument syntax in a message box.
            </summary>
      <param name="caption">The message box caption.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="caption" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.CommandLineErrorReporter">
      <summary>
            A delegate used in error reporting.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.CommandLineOutput">
      <summary>
             Responsible for creating output.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.#ctor(Gallio.Runtime.ConsoleSupport.IRichConsole)">
      <summary>
             Initializes new instance of CommandLineOutput.
             </summary>
      <param name="console">The console.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.#ctor(System.IO.TextWriter)">
      <summary>
            Initializes new instance of CommandLineOutput that outputs to specified stream.
            </summary>
      <param name="output">Text writer.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.#ctor(System.IO.TextWriter,System.Int32)">
      <summary>
            Initializes new instance of CommandLineOutput that outputs to specified stream.
            </summary>
      <param name="output">Text writer.</param>
      <param name="width">The output width.</param>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineOutput.LineLength">
      <summary>
             Maximum line length allowed before the text will be wraped.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.NewLine">
      <summary>
             Prints out a new line.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.CommandLineOutput.Output">
      <summary>
             Output Stream
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.PrintArgumentHelp(System.String,System.String,System.String,System.String,System.String,System.Type)">
      <summary>
            Prints help for a specified argument.
            </summary>
      <param name="prefix">The argument prefix, such as "/", or null or empty if none.</param>
      <param name="longName">The argument's long name, or null or empty if none.</param>
      <param name="shortName">The argument's short short name, or null or empty if none.</param>
      <param name="description">The argument's description, or null or empty if none.</param>
      <param name="valueLabel">The argument's value label such as "path", or null or empty if none.</param>
      <param name="valueType">The argument's value type, or null if none.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.PrintText(System.String,System.Int32)">
      <summary>
            Outputs text with specified indentation.
            </summary>
      <param name="text">Text to output possibly including newlines.</param>
      <param name="indentation">Number of blank spaces to indent the first line.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.CommandLineOutput.PrintText(System.String,System.Int32,System.Int32)">
      <summary>
            Outputs text with specified indentation.
            </summary>
      <param name="text">Text to output possibly including newlines.</param>
      <param name="indentation">Number of blank spaces to indent all but the first line.</param>
      <param name="firstLineIndent">Number of blank spaces to indent the first line.</param>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1">
      <summary>
            A base class for implementing robust console applications.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1" /> class</summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ApplicationName">
      <summary>
            Gets or sets the application name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ApplicationTitle">
      <summary>
            Get or sets the application title.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ApplicationVersion">
      <summary>
            Gets or sets the application version.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ArgumentParser">
      <summary>
            Gets the argument parser.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Arguments">
      <summary>
            Gets or sets the parsed command-line arguments.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.CommandLineOutput">
      <summary>
            Gets the command-line output formatter, or null if the program is not running.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Console">
      <summary>
            Gets the console, or null if the program is not running.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.HandleFatalException(System.Exception)">
      <summary>
            Handles a fatal exception that escaped the <see cref="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.RunImpl(System.String[])" /> method.
            </summary>
      <param name="ex">The exception.</param>
      <returns>The exit code to return.</returns>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ParseArguments(System.String[])">
      <summary>
            Parses the arguments.
            </summary>
      <param name="args">The command-line arguments.</param>
      <returns>True if the arguments were parsed successfully.</returns>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Run(Gallio.Runtime.ConsoleSupport.IRichConsole,System.String[])">
      <summary>
            Runs the program.
            </summary>
      <param name="console">The console.</param>
      <param name="args">The command-line arguments.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="console" />
            or <paramref name="args" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the program has already started running.</exception>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.RunImpl(System.String[])">
      <summary>
            Runs the program.
            </summary>
      <param name="args">The command-line arguments.</param>
      <returns>The program exit code.</returns>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ShowErrorMessage(System.String)">
      <summary>
            Displays an error message to the console.
            </summary>
      <param name="message">The error message.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.ShowHelp">
      <summary>
            Displays help text to the console.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.DefaultCommandLineArgumentAttribute">
      <summary>
            Indicates that this argument is the default argument.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.DefaultCommandLineArgumentAttribute.#ctor(Gallio.Runtime.ConsoleSupport.CommandLineArgumentFlags)">
      <summary>
            Indicates that this argument is the default argument.
            </summary>
      <param name="flags"> Specifies the error checking to be done on the argument.</param>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.DefaultCommandLineArgumentAttribute.ConsumeUnrecognizedSwitches">
      <summary>
            When set to true, the default argument will consume any unrecognized command switches.
            Otherwise an error will be thrown if an unrecognized switch is used.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.IRichConsole">
      <summary>
            A rich console provides a number of services that enable a console to be
            shared among several cooperating tasks that are independently updating
            different portions of the display.  
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ConsoleSupport.IRichConsole.Cancel">
      <summary>
            The event raised when console cancelation occurs.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.CursorLeft">
      <summary>
            Gets the zero-based column index the cursor is located at.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if <see cref="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected" /> is true.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.CursorTop">
      <summary>
            Gets the zero-based row index the cursor is located at.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if <see cref="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected" /> is true.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.Error">
      <summary>
            Gets the error stream writer.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.FooterVisible">
      <summary>
            Gets or sets whether the footer is visible.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.ForegroundColor">
      <summary>
            Gets or sets the foreground color of the console.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.IsCancelationEnabled">
      <summary>
            Gets or sets whether the cancelation function is enabled.
            If false, cancelation events will not be sent.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.IsCanceled">
      <summary>
            Gets or sets whether cancelation has occurred.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.IsRedirected">
      <summary>
            Returns true if the console is being redirected and therefore the
            output should be as simple as possible.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.Out">
      <summary>
            Gets the output stream writer.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.IRichConsole.ResetColor">
      <summary>
            Resets the console colors.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.IRichConsole.SetFooter(Gallio.Common.Action,Gallio.Common.Action)">
      <summary>
            Sets a pair of delegates that together display a footer at the bottom
            of the console.
            </summary>
      <param name="showFooter">A delegate to display the footer.</param>
      <param name="hideFooter">A delegate to hide the footer, leaving the custor at
            the beginning of the line where the footer used to begin.</param>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.SyncRoot">
      <summary>
            Gets a synchronization object that a task can lock to ensure
            that it is the only thread currently accessing the console.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.Title">
      <summary>
            Gets or sets the console's title.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if <see cref="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected" /> is true.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.IRichConsole.Width">
      <summary>
            Gets the width of the console.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.IRichConsole.Write(System.Char)">
      <summary>
            Writes a character.
            </summary>
      <param name="c">The character to write.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.IRichConsole.Write(System.String)">
      <summary>
            Writes a string.
            </summary>
      <param name="str">The string to write.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.IRichConsole.WriteLine">
      <summary>
            Writes a new line.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.IRichConsole.WriteLine(System.String)">
      <summary>
            Writes a string followed by a new line.
            </summary>
      <param name="str">The string to write.</param>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.NativeConsole">
      <summary>
            An implementation of <see cref="T:Gallio.Runtime.ConsoleSupport.IRichConsole" /> that targets the
            native <see cref="T:System.Console" />.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ConsoleSupport.NativeConsole.Cancel">
      <summary>
            The event raised when console cancelation occurs.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.CursorLeft">
      <summary>
            Gets the zero-based column index the cursor is located at.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if <see cref="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected" /> is true.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.CursorTop">
      <summary>
            Gets the zero-based row index the cursor is located at.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if <see cref="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected" /> is true.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.Error">
      <summary>
            Gets the error stream writer.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.FooterVisible">
      <summary>
            Gets or sets whether the footer is visible.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.NativeConsole.ForceQuitKeyPressRepetitions">
      <summary>
            The application will forcibly terminate if the cancel key is pressed
            <see cref="F:Gallio.Runtime.ConsoleSupport.NativeConsole.ForceQuitKeyPressRepetitions" /> times within no more than
            <see cref="F:Gallio.Runtime.ConsoleSupport.NativeConsole.ForceQuitKeyPressTimeoutMilliseconds" /> milliseconds.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ConsoleSupport.NativeConsole.ForceQuitKeyPressTimeoutMilliseconds">
      <summary>
            The application will forcibly terminate if the cancel key is pressed
            <see cref="F:Gallio.Runtime.ConsoleSupport.NativeConsole.ForceQuitKeyPressRepetitions" /> times within no more than
            <see cref="F:Gallio.Runtime.ConsoleSupport.NativeConsole.ForceQuitKeyPressTimeoutMilliseconds" /> milliseconds.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.ForegroundColor">
      <summary>
            Gets or sets the foreground color of the console.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.Instance">
      <summary>
            Gets the singleton instance of the native console.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsCancelationEnabled">
      <summary>
            Gets or sets whether the cancelation function is enabled.
            If false, cancelation events will not be sent.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsCanceled">
      <summary>
            Gets or sets whether cancelation has occurred.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected">
      <summary>
            Returns true if the console is being redirected and therefore the
            output should be as simple as possible.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.Out">
      <summary>
            Gets the output stream writer.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.NativeConsole.ResetColor">
      <summary>
            Resets the console colors.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.NativeConsole.SetFooter(Gallio.Common.Action,Gallio.Common.Action)">
      <summary>
            Sets a pair of delegates that together display a footer at the bottom
            of the console.
            </summary>
      <param name="showFooter">A delegate to display the footer.</param>
      <param name="hideFooter">A delegate to hide the footer, leaving the custor at
            the beginning of the line where the footer used to begin.</param>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.SyncRoot">
      <summary>
            Gets a synchronization object that a task can lock to ensure
            that it is the only thread currently accessing the console.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.Title">
      <summary>
            Gets or sets the console's title.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown if <see cref="P:Gallio.Runtime.ConsoleSupport.NativeConsole.IsRedirected" /> is true.</exception>
    </member>
    <member name="P:Gallio.Runtime.ConsoleSupport.NativeConsole.Width">
      <summary>
            Gets the width of the console.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.NativeConsole.Write(System.Char)">
      <summary>
            Writes a character.
            </summary>
      <param name="c">The character to write.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.NativeConsole.Write(System.String)">
      <summary>
            Writes a string.
            </summary>
      <param name="str">The string to write.</param>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.NativeConsole.WriteLine">
      <summary>
            Writes a new line.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.NativeConsole.WriteLine(System.String)">
      <summary>
            Writes a string followed by a new line.
            </summary>
      <param name="str">The string to write.</param>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.ResponseFileReader">
      <summary>
            Reads the contents of a response file.
            </summary>
      <param name="responseFileName">The response file name, never null.</param>
      <returns>The plain text contents of the file.</returns>
    </member>
    <member name="T:Gallio.Runtime.ConsoleSupport.RichConsoleLogger">
      <summary>
            A logger that sends all output to the console and displays messages in color
            according to their status.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.RichConsoleLogger.#ctor(Gallio.Runtime.ConsoleSupport.IRichConsole)">
      <summary>
            Creates a logger.
            </summary>
      <param name="console">The console.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="console" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ConsoleSupport.RichConsoleLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="T:Gallio.Runtime.Conversions.ArrayToArrayConversionRule">
      <summary>
            Converts arrays from one-dimensional arrays of one element type to another.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ArrayToArrayConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.ArrayToArrayConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ArrayToArrayConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ArrayToArrayConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.BaseConverter">
      <summary>
            An abstract base class implementation of <see cref="T:Gallio.Runtime.Conversions.IConverter" />
            that mostly validates arguments and provides a default implement for
            <see cref="M:Gallio.Runtime.Conversions.BaseConverter.CanConvert(System.Type,System.Type)" /> based on <see cref="M:Gallio.Runtime.Conversions.BaseConverter.GetConversionCost(System.Type,System.Type)" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.BaseConverter" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.CanConvert(System.Type,System.Type)">
      <summary>
            Determines whether the converter can convert a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type.</param>
      <param name="targetType">The target type.</param>
      <returns>True if the converter supports this conversion.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceType" /> or
            <paramref name="targetType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.CanConvertImpl(System.Type,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.CanConvert(System.Type,System.Type)" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>True if the conversion is supported.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.Convert(System.Object,System.Type)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert.</param>
      <param name="targetType">The target type.</param>
      <returns>The converted value.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="targetType" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown the requested conversion was not supported.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.ConvertImpl(System.Object,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.Convert(System.Object,System.Type)" /></summary>
      <param name="sourceValue">The source value.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.GetConversionCost(System.Type,System.Type)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type.</param>
      <param name="targetType">The target type.</param>
      <returns>The conversion cost.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceType" /> or
            <paramref name="targetType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.BaseConverter.GetConversionCostImpl(System.Type,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.GetConversionCost(System.Type,System.Type)" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.ConversionCost">
      <summary>
            Describes the relative cost of performing a conversion so that different
            conversions can be ranked by cost.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConversionCost.#ctor(System.Int32)">
      <summary>
            Creates a conversion cost.
            </summary>
      <param name="value">The number of units of work required by the conversion.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value" /> is negative.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConversionCost.Add(Gallio.Runtime.Conversions.ConversionCost)">
      <summary>
            Adds this conversion cost with the other and returns the sum.
            </summary>
      <param name="other">The other conversion cost.</param>
      <returns>The summed conversion cost.</returns>
    </member>
    <member name="F:Gallio.Runtime.Conversions.ConversionCost.Best">
      <summary>
            The conversion is the best possible conversion available.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConversionCost.CompareTo(Gallio.Runtime.Conversions.ConversionCost)">
      <summary>
                    Compares the current object with another object of the same type.
                </summary>
      <param name="other">
                    An object to compare with this object.
                </param>
      <returns>
                    A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings: 
                
                    Value 
                
                    Meaning 
                
                    Less than zero 
                
                    This object is less than the <paramref name="other" /> parameter.
                
                    Zero 
                
                    This object is equal to <paramref name="other" />. 
                
                    Greater than zero 
                
                    This object is greater than <paramref name="other" />. 
                </returns>
    </member>
    <member name="F:Gallio.Runtime.Conversions.ConversionCost.Default">
      <summary>
            The conversion is a poor default choice.  It costs a sufficient number of units
            of work to perform to ensure that a non-default conversion will be chosen if possible.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Conversions.ConversionCost.Invalid">
      <summary>
            The conversion is not supported.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Conversions.ConversionCost.IsInvalid">
      <summary>
            Returns true if the conversion is not supported.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Conversions.ConversionCost.Maximum">
      <summary>
            The conversion costs the maximum possible amount of work to perform.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConversionCost.ToString">
      <summary>
                    Returns the fully qualified type name of this instance.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> containing a fully qualified type name.
                </returns>
    </member>
    <member name="F:Gallio.Runtime.Conversions.ConversionCost.Typical">
      <summary>
            The conversion costs a typical amount of work to perform.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Conversions.ConversionCost.Value">
      <summary>
            Gets the cost value.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Conversions.ConversionCost.Zero">
      <summary>
            The conversion has zero cost because no work is required.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Conversions.Converter">
      <summary>
            Service locator for <see cref="T:Gallio.Runtime.Conversions.IConverter" />.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Conversions.Converter.Instance">
      <summary>
            Gets the global conveter singleton.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Conversions.ConvertibleToConvertibleConversionRule">
      <summary>
            Converts values among <see cref="T:System.IConvertible" /> types.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConvertibleToConvertibleConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.ConvertibleToConvertibleConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConvertibleToConvertibleConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ConvertibleToConvertibleConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.IConversionRule">
      <summary>
            A conversion rule encapsulates an algorithm for converting a value from a source
            type to a target type.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.IConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.IConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.IConverter">
      <summary>
            A converter converts a value from a source type to a target type.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.IConverter.CanConvert(System.Type,System.Type)">
      <summary>
            Determines whether the converter can convert a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type.</param>
      <param name="targetType">The target type.</param>
      <returns>True if the converter supports this conversion.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceType" /> or
            <paramref name="targetType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.IConverter.Convert(System.Object,System.Type)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert.</param>
      <param name="targetType">The target type.</param>
      <returns>The converted value.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="targetType" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown the requested conversion was not supported.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.IConverter.GetConversionCost(System.Type,System.Type)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type.</param>
      <param name="targetType">The target type.</param>
      <returns>The conversion cost.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceType" /> or
            <paramref name="targetType" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Conversions.NullConverter">
      <summary>
            A null implementation of a converter that does not actually support
            converting values.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.NullConverter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.NullConverter" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.NullConverter.ConvertImpl(System.Object,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.Convert(System.Object,System.Type)" /></summary>
      <param name="sourceValue">The source value.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.NullConverter.GetConversionCostImpl(System.Type,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.GetConversionCost(System.Type,System.Type)" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="F:Gallio.Runtime.Conversions.NullConverter.Instance">
      <summary>
            Gets a singleton instance of the null converter.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Conversions.ObjectToStringConversionRule">
      <summary>
            Converts an <see cref="T:System.Object" /> into a <see cref="T:System.String" /> using <see cref="M:System.Object.ToString" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ObjectToStringConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.ObjectToStringConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ObjectToStringConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.ObjectToStringConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.RuleBasedConverter">
      <summary>
            A rule-based converter uses a set of <see cref="T:Gallio.Runtime.Conversions.IConversionRule" />s to
            perform conversions.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.RuleBasedConverter.#ctor(Gallio.Runtime.Conversions.IConversionRule[])">
      <summary>
            Creates a rule-based converter.
            </summary>
      <param name="rules">The rules to use.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="rules" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Conversions.RuleBasedConverter.ConvertImpl(System.Object,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.Convert(System.Object,System.Type)" /></summary>
      <param name="sourceValue">The source value.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.RuleBasedConverter.GetConversionCostImpl(System.Type,System.Type)">
      <summary>
            Implements <see cref="M:Gallio.Runtime.Conversions.BaseConverter.GetConversionCost(System.Type,System.Type)" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.StringToXmlDocumentConversionRule">
      <summary>
            Converts a <see cref="T:System.String" /> into an <see cref="T:System.Xml.XmlDocument" /> assuming
            the string is valid xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.StringToXmlDocumentConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.StringToXmlDocumentConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.StringToXmlDocumentConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.StringToXmlDocumentConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.XPathNavigableToXPathNavigatorConversionRule">
      <summary>
            Converts <see cref="T:System.Xml.XPath.IXPathNavigable" /> objects to <see cref="T:System.Xml.XPath.XPathNavigator" /> objects.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigableToXPathNavigatorConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.XPathNavigableToXPathNavigatorConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigableToXPathNavigatorConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigableToXPathNavigatorConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.XPathNavigatorToStringConversionRule">
      <summary>
            Converts an <see cref="T:System.Xml.XPath.XPathNavigator" /> into a <see cref="T:System.String" /> by value or outer xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigatorToStringConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.XPathNavigatorToStringConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigatorToStringConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigatorToStringConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Conversions.XPathNavigatorToXmlSerializableTypeConversionRule">
      <summary>
            Converts <see cref="T:System.Xml.XPath.XPathNavigator" /> objects to XML serializable
            objects that have the <see cref="T:System.Xml.Serialization.XmlTypeAttribute" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigatorToXmlSerializableTypeConversionRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Conversions.XPathNavigatorToXmlSerializableTypeConversionRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigatorToXmlSerializableTypeConversionRule.Convert(System.Object,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Converts the value <paramref name="sourceValue" /> to type <paramref name="targetType" />.
            </summary>
      <param name="sourceValue">The value to convert, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The converted value.</returns>
    </member>
    <member name="M:Gallio.Runtime.Conversions.XPathNavigatorToXmlSerializableTypeConversionRule.GetConversionCost(System.Type,System.Type,Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Gets the cost of converting a value of type <paramref name="sourceType" />
            to type <paramref name="targetType" />.
            </summary>
      <param name="sourceType">The source type, never null.</param>
      <param name="targetType">The target type, never null.</param>
      <param name="elementConverter">A converter that may be used to recursively
            convert the contents of a composite object from one type to another, never null.</param>
      <returns>The conversion cost.</returns>
    </member>
    <member name="T:Gallio.Runtime.Debugging.AttachDebuggerResult">
      <summary>
            Describes different possible outcomes from attaching a debugger to a process.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Debugging.AttachDebuggerResult.CouldNotAttach">
      <summary>
            The debugger could not attach to the process.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Debugging.AttachDebuggerResult.AlreadyAttached">
      <summary>
            The debugger was already attached to the process.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Debugging.AttachDebuggerResult.Attached">
      <summary>
            The debugger has just been attached to the process.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Debugging.DebuggerSetup">
      <summary>
            Provides options that configure the debugger.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DebuggerSetup.#ctor">
      <summary>
            Creates a default set of debugger options.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DebuggerSetup.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DebuggerSetup.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DebuggerSetup.Copy">
      <summary>
            Creates a copy of the options.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.Debugging.DebuggerSetup.Properties">
      <summary>
            Gets a read-only collection of configuration properties for the debugger.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DebuggerSetup.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Debugging.DefaultDebuggerManager">
      <summary>
            Default implementation of a debugger manager.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DefaultDebuggerManager.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Debugging.DefaultDebuggerManager" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.DefaultDebuggerManager.GetDebugger(Gallio.Runtime.Debugging.DebuggerSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Gets a debugger.
            </summary>
      <param name="debuggerSetup">The debugger setup options.</param>
      <param name="logger">The logger for writing progress and failure messages.</param>
      <returns>The debugger.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="debuggerSetup" /> or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Debugging.DetachDebuggerResult">
      <summary>
            Describes different possible outcomes from detaching a debugger from a process.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Debugging.DetachDebuggerResult.CouldNotDetach">
      <summary>
            The debugger could not be detached from the process and remains attached.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Debugging.DetachDebuggerResult.AlreadyDetached">
      <summary>
            The debugger was already detached from the process.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Debugging.DetachDebuggerResult.Detached">
      <summary>
            The debugger has just been detached from the process.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Debugging.IDebugger">
      <summary>
            Provides control over a debugger.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.IDebugger.AttachToProcess(System.Diagnostics.Process)">
      <summary>
            Attaches the debugger to a process.
            </summary>
      <param name="process">The process to which the debugger should be attached.</param>
      <returns>A result code to indicate whether the debugger was attached.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.IDebugger.DetachFromProcess(System.Diagnostics.Process)">
      <summary>
            Detaches the debugger from a process.
            </summary>
      <param name="process">The process from which the debugger should be detached.</param>
      <returns>A result code to indicate whether the debugger was detached.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.IDebugger.IsAttachedToProcess(System.Diagnostics.Process)">
      <summary>
            Returns true if the debugger is attached to a process.
            </summary>
      <param name="process">The process to which the debugger should be attached.</param>
      <returns>True if the debugger is already attached.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.IDebugger.LaunchProcess(System.Diagnostics.ProcessStartInfo)">
      <summary>
            Launches a process and attaches the debugger.
            </summary>
      <param name="processStartInfo">The process start information.</param>
      <returns>The process that was started, or null if the process could not be launched with the debugger.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="processStartInfo" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Debugging.IDebuggerManager">
      <summary>
            Obtains a reference to a debugger.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.IDebuggerManager.GetDebugger(Gallio.Runtime.Debugging.DebuggerSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Gets a debugger.
            </summary>
      <param name="debuggerSetup">The debugger setup options.</param>
      <param name="logger">The logger for writing progress and failure messages.</param>
      <returns>The debugger.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="debuggerSetup" /> or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Debugging.NullDebugger">
      <summary>
            A null implementation of a debugger.  All services return do nothing results.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.NullDebugger.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Debugging.NullDebugger" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Debugging.NullDebugger.AttachToProcess(System.Diagnostics.Process)">
      <summary>
            Attaches the debugger to a process.
            </summary>
      <param name="process">The process to which the debugger should be attached.</param>
      <returns>A result code to indicate whether the debugger was attached.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.NullDebugger.DetachFromProcess(System.Diagnostics.Process)">
      <summary>
            Detaches the debugger from a process.
            </summary>
      <param name="process">The process from which the debugger should be detached.</param>
      <returns>A result code to indicate whether the debugger was detached.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.NullDebugger.IsAttachedToProcess(System.Diagnostics.Process)">
      <summary>
            Returns true if the debugger is attached to a process.
            </summary>
      <param name="process">The process to which the debugger should be attached.</param>
      <returns>True if the debugger is already attached.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Debugging.NullDebugger.LaunchProcess(System.Diagnostics.ProcessStartInfo)">
      <summary>
            Launches a process and attaches the debugger.
            </summary>
      <param name="processStartInfo">The process start information.</param>
      <returns>The process that was started, or null if the process could not be launched with the debugger.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="processStartInfo" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.CachingPluginLoader">
      <summary>
            A caching plugin loader.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.CachingPluginLoader.#ctor">
      <summary>
            Creates a caching plugin loader.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.CachingPluginLoader.ClearCurrentUserPluginCache">
      <summary>
            Clears the plugin cache belonging to the current user.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.CachingPluginLoader.LoadPlugins(Gallio.Runtime.Extensibility.PluginLoader.PluginCallback)">
      <summary>
            Loads plugins by recursively searching the plugin paths for *.plugin files.
            </summary>
      <param name="pluginCallback">A function that receives plugin metadata as it
            becomes available, not null.</param>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.ComponentHandle">
      <summary>
            A handle for a lazily instantiated component and its traits.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.CreateInstance``2(Gallio.Runtime.Extensibility.IComponentDescriptor)">
      <summary>
            Creates an instance of a typed component handle for the specified descriptor.
            </summary>
      <param name="componentDescriptor">The component descriptor.</param>
      <typeparam name="TService">The service type.</typeparam>
      <typeparam name="TTraits">The traits type.</typeparam>
      <returns>The appropriately typed component handle.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentDescriptor" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the described component's service or traits are not compatible with a handle of this type.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the described component's service type or traits type cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.CreateInstance(Gallio.Runtime.Extensibility.IComponentDescriptor)">
      <summary>
            Creates an instance of a typed component handle for the specified descriptor.
            </summary>
      <param name="componentDescriptor">The component descriptor.</param>
      <returns>The appropriately typed component handle.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentDescriptor" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the described component's service type or traits type cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.CreateStub``2(System.String,``0,``1)">
      <summary>
            Creates an instance of a typed component handle for the specified component and traits instance.
            The component handle will have a stub component descriptor for testing purposes.
            </summary>
      <param name="componentId">The component id.</param>
      <param name="component">The component instance.</param>
      <param name="traits">The component traits.</param>
      <typeparam name="TService">The service type.</typeparam>
      <typeparam name="TTraits">The traits type.</typeparam>
      <returns>The appropriately typed component handle.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" />, <paramref name="component" />
            or <paramref name="traits" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if the described component's service or traits are not compatible with a handle of this type.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the described component's service type or traits type cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentHandle.Descriptor">
      <summary>
            Gets the component descriptor.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.GetComponent">
      <summary>
            Gets the component instance.
            </summary>
      <returns>The component instance.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the component cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.GetTraits">
      <summary>
            Gets the component traits.
            </summary>
      <returns>The component traits.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the traits cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentHandle.Id">
      <summary>
            Gets the component id.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.IsComponentHandleType(System.Type)">
      <summary>
            Returns true if the specified type is a component handle type.
            </summary>
      <param name="type">The type to examine.</param>
      <returns>True if the type is a component handle type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentHandle.ServiceType">
      <summary>
            Gets the service type.
            </summary>
      <returns>The service type.</returns>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle.ToString">
      <summary>
            Returns the component's id.
            </summary>
      <returns>The component id.</returns>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentHandle.TraitsType">
      <summary>
            Gets the traits type.
            </summary>
      <returns>The traits type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.ComponentHandle`2">
      <summary>
            A typed handle for a lazily instantiated component and its traits.
            </summary>
      <typeparam name="TService">The type of service implemented by the component.</typeparam>
      <typeparam name="TTraits">The type of traits provided by the component.</typeparam>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle`2.GetComponent">
      <summary>
            Gets the component instance.
            </summary>
      <returns>The component instance.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the component cannot be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentHandle`2.GetTraits">
      <summary>
            Gets the component traits.
            </summary>
      <returns>The component traits.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the traits cannot be resolved.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentHandle`2.ServiceType">
      <summary>
            Gets the service type.
            </summary>
      <returns>The service type.</returns>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentHandle`2.TraitsType">
      <summary>
            Gets the traits type.
            </summary>
      <returns>The traits type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.ComponentRegistration">
      <summary>
            Provides information used to register a component.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ComponentRegistration.#ctor(Gallio.Runtime.Extensibility.IPluginDescriptor,Gallio.Runtime.Extensibility.IServiceDescriptor,System.String,Gallio.Common.Reflection.TypeName)">
      <summary>
            Creates a component registration.
            </summary>
      <param name="plugin">The plugin to which the component will belong.</param>
      <param name="service">The service implemented by the component.</param>
      <param name="componentId">The component id.</param>
      <param name="componentTypeName">The component type name, or null to use the default component type specified by the service.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />, <paramref name="service" />,
            <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.ComponentHandlerFactory">
      <summary>
            Gets or sets the component handler factory.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.ComponentId">
      <summary>
            Gets or sets the component id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.ComponentProperties">
      <summary>
            Gets or sets the component properties.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.ComponentTypeName">
      <summary>
            Gets or sets the component type name, or null to use the default component type specified by the service.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.Plugin">
      <summary>
            Gets or sets the plugin to which the component will belong.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.Service">
      <summary>
            Gets or sets the service implemented by the component.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ComponentRegistration.TraitsProperties">
      <summary>
            Gets or sets the traits properties.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.DefaultObjectDependencyResolver">
      <summary>
            Resolves object dependencies that are discovered during dependency injection
            with the help of a service locator, a resource locator, and a built in set of conversions.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.DefaultObjectDependencyResolver.#ctor(Gallio.Runtime.Extensibility.IServiceLocator,Gallio.Runtime.Extensibility.IResourceLocator)">
      <summary>
            Creates an object dependency resolver.
            </summary>
      <param name="serviceLocator">The service locator.</param>
      <param name="resourceLocator">The resource locator.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceLocator" />,
            <paramref name="resourceLocator" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.DefaultObjectDependencyResolver.ResolveDependency(System.String,System.Type,System.String)">
      <summary>
            Resolves a dependency.
            </summary>
      <param name="parameterName">The parameter name.</param>
      <param name="parameterType">The parameter type.</param>
      <param name="configurationArgument">An optional configuration argument that supplies a value
            for the parameter or describes the means by which the value should be obtained, or null if none.</param>
      <returns>An object that describes whether the dependency was satisfied and the value it was assigned.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameterName" /> or 
            <paramref name="parameterType" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.DefaultPlugin">
      <summary>
            Default plugin implementation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.DefaultPlugin.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Extensibility.DefaultPlugin" /> class</summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.DependencyResolution">
      <summary>
            Specifies the result of an attempt to resolve a dependency.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.DependencyResolution.IsSatisfied">
      <summary>
            Returns true if the dependency was satisfied.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.DependencyResolution.Satisfied(System.Object)">
      <summary>
            Creates a result object that represents a satisfied dependency.
            </summary>
      <param name="value">The value provided for the dependency.</param>
      <returns>The result object.</returns>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.DependencyResolution.Unsatisfied">
      <summary>
            Creates a result object that represents an unsatisfied dependency.
            </summary>
      <returns>The result object.</returns>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.DependencyResolution.Value">
      <summary>
            Returns the value used to satisfy the dependency.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the dependency was not satisfied.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IComponentDescriptor">
      <summary>
            Describes a component.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.ComponentHandlerFactory">
      <summary>
            Gets the component handler factory.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.ComponentId">
      <summary>
            Gets the component's id.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.ComponentProperties">
      <summary>
            Gets the parameter properties.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.ComponentTypeName">
      <summary>
            Gets the component type name.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.DisabledReason">
      <summary>
            Gets the reason the component was disabled.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Runtime.Extensibility.IComponentDescriptor.IsDisabled" /> is false.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.IsDisabled">
      <summary>
            Returns true if the plugin that provides the component is disabled
            or if the service implemented by the component is disabled.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.Plugin">
      <summary>
            Gets the descriptor of the plugin that provides the component.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponentDescriptor.ResolveComponent">
      <summary>
            Resolves the component instance.
            </summary>
      <returns>The component instance.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponentDescriptor.ResolveComponentHandler">
      <summary>
            Resolves the component handler.
            </summary>
      <returns>The component handler.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponentDescriptor.ResolveComponentType">
      <summary>
            Resolves the component type.
            </summary>
      <returns>The component type.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponentDescriptor.ResolveTraits">
      <summary>
            Resolves the component traits.
            </summary>
      <returns>The component traits.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponentDescriptor.ResolveTraitsHandler">
      <summary>
            Resolves the traits handler.
            </summary>
      <returns>The traits handler.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.Service">
      <summary>
            Gets the descriptor of the service implemented by the component.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponentDescriptor.TraitsProperties">
      <summary>
            Gets the traits properties.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IComponents">
      <summary>
            Provides a view of registered components along with methods for resolving them.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponents.FindByServiceId(System.String)">
      <summary>
            Gets descriptors for all components that implement a service with a given id.
            </summary>
      <param name="serviceId">The service id.</param>
      <returns>The list of component descriptors.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponents.FindByServiceType(System.Type)">
      <summary>
            Gets descriptors for all components that implement a service of a given type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The list of component descriptors.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IComponents.FindByServiceTypeName(Gallio.Common.Reflection.TypeName)">
      <summary>
            Gets descriptors for all components that implement a service of a given type by name.
            </summary>
      <param name="serviceTypeName">The service type name.</param>
      <returns>The list of component descriptors.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceTypeName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IComponents.Item(System.String)">
      <summary>
            Gets a component descriptor by its id, or null if not found.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>The component descriptor, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IHandler">
      <summary>
            A handler activates instances of a plugin, component or traits object.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IHandler.Activate">
      <summary>
            Activates the instance.
            </summary>
      <returns>The activated instance.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IHandlerFactory">
      <summary>
            A handler factory creates handlers for activating plugin, component and traits instances.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IHandlerFactory.CreateHandler(Gallio.Runtime.Extensibility.IObjectDependencyResolver,System.Type,System.Type,Gallio.Common.Collections.PropertySet)">
      <summary>
            Creates a handler.
            </summary>
      <param name="dependencyResolver">The object dependency resolver, not null.</param>
      <param name="contractType">The contract type: the handler will ensure that the objects it produces are subclasses or implementations of the contract type.</param>
      <param name="objectType">The object type: the handler will produce objects that are (possibly decorated) instances of the object type.</param>
      <param name="properties">The configuration properties for the objects produced by the handler.</param>
      <returns>The handler.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.InstanceHandlerFactory">
      <summary>
            A handler factory for pre-manufactured instances.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.InstanceHandlerFactory.#ctor(System.Object)">
      <summary>
            Creates an instance handler factory given a particular pre-manufactured instance.
            </summary>
      <param name="instance">The instance to be returned by the handler.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="instance" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.InstanceHandlerFactory.CreateHandler(Gallio.Runtime.Extensibility.IObjectDependencyResolver,System.Type,System.Type,Gallio.Common.Collections.PropertySet)">
      <summary>
            Creates a handler.
            </summary>
      <param name="dependencyResolver">The object dependency resolver, not null.</param>
      <param name="contractType">The contract type: the handler will ensure that the objects it produces are subclasses or implementations of the contract type.</param>
      <param name="objectType">The object type: the handler will produce objects that are (possibly decorated) instances of the object type.</param>
      <param name="properties">The configuration properties for the objects produced by the handler.</param>
      <returns>The handler.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IObjectDependencyResolver">
      <summary>
            Resolves object dependencies and parameters.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IObjectDependencyResolver.ResolveDependency(System.String,System.Type,System.String)">
      <summary>
            Resolves a dependency.
            </summary>
      <param name="parameterName">The parameter name.</param>
      <param name="parameterType">The parameter type.</param>
      <param name="configurationArgument">An optional configuration argument that supplies a value
            for the parameter or describes the means by which the value should be obtained, or null if none.</param>
      <returns>An object that describes whether the dependency was satisfied and the value it was assigned.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="parameterName" /> or 
            <paramref name="parameterType" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IPlugin">
      <summary>
            Represents an activated plugin.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IPluginCatalog">
      <summary>
            A plugin catalog describes the configuration of a collection of plugins that
            are to be installed in a registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginCatalog.AddPlugin(Gallio.Runtime.Extensibility.Schema.Plugin,System.IO.DirectoryInfo)">
      <summary>
            Adds a plugin to the catalog.
            </summary>
      <param name="plugin">The plugin to add.</param>
      <param name="baseDirectory">The plugin base directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />
            or <paramref name="baseDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginCatalog.ApplyTo(Gallio.Runtime.Extensibility.IRegistry)">
      <summary>
            Registers the contents of the catalog into the specified registry.
            </summary>
      <param name="registry">The registry.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="registry" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IPluginDescriptor">
      <summary>
            Describes a plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.AssemblyBindings">
      <summary>
            Gets the list of plugin assembly bindings.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.BaseDirectory">
      <summary>
            Gets the base directory that contains the plugin's definition and associated resources.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.Disable(System.String)">
      <summary>
            Disables the plugin.
            </summary>
      <param name="reason">The reason the plugin was disabled.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.DisabledReason">
      <summary>
            Gets the reason the plugin was disabled.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Runtime.Extensibility.IPluginDescriptor.IsDisabled" /> is false.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.EnableCondition">
      <summary>
            Gets a condition governing the activation of the plugin,
            or null if there is no condition.  The plugin will be disabled if a
            condition is provided but is not satisfied.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.FilePaths">
      <summary>
            Gets the paths of files that belong to the plugin relative to the
            plugin base directory.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.GetSearchPaths(System.String)">
      <summary>
            Gets an enumeration of all absolute paths to be searched in order to find a given resource.
            </summary>
      <param name="resourcePath">The relative or absolute path of the resource to find or null to return
            the paths of the search directories themselves.</param>
      <returns>An enumeration of search paths.</returns>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.IsDisabled">
      <summary>
            Returns true if the plugin is disabled.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.PluginDependencies">
      <summary>
            Gets the list of plugins upon which this plugin depends directly or indirectly.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.PluginHandlerFactory">
      <summary>
            Gets the plugin handler factory.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.PluginId">
      <summary>
            Gets the plugin's id.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.PluginProperties">
      <summary>
            Gets the plugin properties.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.PluginTypeName">
      <summary>
            Gets the plugin type name.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.ProbingPaths">
      <summary>
            Gets the list of additional relative or absolute probing paths in which to attempt to locate
            referenced assemblies.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.RecommendedInstallationPath">
      <summary>
            Gets the recommended installation path for the plugin files relative to
            the runtime installation directory, or null if there is no preference.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.ResolvePlugin">
      <summary>
            Resolves the plugin instance.
            </summary>
      <returns>The plugin instance.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.ResolvePluginHandler">
      <summary>
            Resolves the plugin handler.
            </summary>
      <returns>The plugin handler.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.ResolvePluginType">
      <summary>
            Resolves the plugin type.
            </summary>
      <returns>The plugin type.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.ResolveTraits">
      <summary>
            Resolves the plugin traits.
            </summary>
      <returns>The plugin traits.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginDescriptor.ResolveTraitsHandler">
      <summary>
            Resolves the traits handler.
            </summary>
      <returns>The traits handler.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginDescriptor.TraitsProperties">
      <summary>
            Gets the traits properties.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IPluginLoader">
      <summary>
            Populates a plugin catalog with plugin metadata.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginLoader.AddPluginPath(System.String)">
      <summary>
            Adds a plugin path.
            </summary>
      <param name="pluginPath">The plugin path to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginPath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginLoader.AddPluginXml(System.String,System.IO.DirectoryInfo)">
      <summary>
            Adds a plugin definition as XML.
            </summary>
      <param name="pluginXml">The plugin xml.</param>
      <param name="baseDirectory">The plugin base directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginXml" />
            or <paramref name="baseDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginLoader.DefinePreprocessorConstant(System.String)">
      <summary>
            Defines a constant to be used by the preprocessor.
            </summary>
      <param name="constant">The constant name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="constant" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPluginLoader.InstallationId">
      <summary>
            Gets or sets the installation id.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IPluginLoader.PopulateCatalog(Gallio.Runtime.Extensibility.IPluginCatalog)">
      <summary>
            Populates a catalog with plugin metadata derived from the currently
            registered plugin data sources.
            </summary>
      <param name="catalog">The plugin catalog to populate.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="catalog" />
            is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IPlugins">
      <summary>
            Provides a view of registered plugins along with methods for resolving them.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IPlugins.Item(System.String)">
      <summary>
            Gets a plugin descriptor by its id, or null if not found.
            </summary>
      <param name="pluginId">The plugin id.</param>
      <returns>The plugin descriptor, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IRegistry">
      <summary>
            A registry of plugins, services and components.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IRegistry.Components">
      <summary>
            Gets a view of all registered components.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IRegistry.Plugins">
      <summary>
            Gets a view of all registered plugins.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IRegistry.RegisterComponent(Gallio.Runtime.Extensibility.ComponentRegistration)">
      <summary>
            Registers a component and returns its descriptor.
            </summary>
      <param name="componentRegistration">The component registration.</param>
      <returns>The new component descriptor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentRegistration" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if there is already a component registered with the same id
            or if the plugin or service does not belong to this registry or if the component implements a service
            provided by a plugin that was not listed as a plugin dependency of the component's plugin.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IRegistry.RegisterPlugin(Gallio.Runtime.Extensibility.PluginRegistration)">
      <summary>
            Registers a plugin and returns its descriptor.
            </summary>
      <param name="pluginRegistration">The plugin registration.</param>
      <returns>The new plugin descriptor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginRegistration" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if there is already a plugin registered with the same id
            or if the registration contains errors.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IRegistry.RegisterService(Gallio.Runtime.Extensibility.ServiceRegistration)">
      <summary>
            Registers a service and returns its descriptor.
            </summary>
      <param name="serviceRegistration">The service registration.</param>
      <returns>The new service descriptor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceRegistration" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if there is already a service registered with the same id or type name
            or if the plugin does not belong to this registry.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IRegistry.ResourceLocator">
      <summary>
            Gets a resource locator based on the contents of the registry.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IRegistry.ServiceLocator">
      <summary>
            Gets a service locator based on the contents of the registry.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IRegistry.Services">
      <summary>
            Gets a view of all registered services.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IResourceLocator">
      <summary>
            Locates resources owned by plugins and other components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IResourceLocator.ResolveResourcePath(System.Uri)">
      <summary>
            Resolves a resource Uri to a full path.
            </summary>
      <param name="resourceUri">The resource Uri.</param>
      <returns>The resolved full path of the resource.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="resourceUri" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the uri cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IServiceDescriptor">
      <summary>
            Describes a service.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.DefaultComponentTypeName">
      <summary>
            Gets the default component type name for this service, or null if there is no default component type.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.DisabledReason">
      <summary>
            Gets the reason the service was disabled.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Runtime.Extensibility.IServiceDescriptor.IsDisabled" /> is false.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.IsDisabled">
      <summary>
            Returns true if the plugin that provides the service is disabled.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.Plugin">
      <summary>
            Gets the descriptor of the plugin that provides the service.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceDescriptor.ResolveServiceType">
      <summary>
            Resolves the service type.
            </summary>
      <returns>The service type.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceDescriptor.ResolveTraitsType">
      <summary>
            Resolves the traits type.
            </summary>
      <returns>The traits type.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if an error occurs during resolution.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.ServiceId">
      <summary>
            Gets the service's id.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.ServiceTypeName">
      <summary>
            Gets the service type name.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServiceDescriptor.TraitsHandlerFactory">
      <summary>
            Gets the traits handler factory.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IServiceLocator">
      <summary>
            Resolves runtime services.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.HasComponent(System.String)">
      <summary>
            Returns true if there is a component registered with the given component id and it has not been disabled.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>True if there is a component registered with the given component id.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.HasService(System.Type)">
      <summary>
            Returns true if the there is a service registered with the specified type and it has not been disabled.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>True if there is at least one component registered for the given service type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.Resolve``1">
      <summary>
            Resolves a single component instance that implements a given service type.
            </summary>
      <typeparam name="TService">The service type.</typeparam>
      <returns>The component instance that implements the service.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.Resolve(System.Type)">
      <summary>
            Resolves a single component instance that implements a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The component instance that implements the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveAll``1">
      <summary>
            Resolves all component instances that implement a given service type.
            </summary>
      <typeparam name="TService">The service type.</typeparam>
      <returns>The list of component instances that implement the service.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveAll(System.Type)">
      <summary>
            Resolves all component instances that implement a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The list of component instances that implement the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveAllHandles``2">
      <summary>
            Resolves handles for all components that implement a given service type.
            </summary>
      <typeparam name="TService">The service type.</typeparam>
      <typeparam name="TTraits">The traits type.</typeparam>
      <returns>The list of handles of components that implement the service.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveAllHandles(System.Type)">
      <summary>
            Resolves handles for all components that implement a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The list of handles of components that implement the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveByComponentId(System.String)">
      <summary>
            Resolves a single component instance with a given component id.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>The component instance.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveHandle``2">
      <summary>
            Resolves a handle for a single component that implements a given service type.
            </summary>
      <typeparam name="TService">The service type.</typeparam>
      <typeparam name="TTraits">The traits type.</typeparam>
      <returns>The handle for the component that implements the service.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveHandle(System.Type)">
      <summary>
            Resolves a handle for a single component that implements a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The handle for the component implements the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServiceLocator.ResolveHandleByComponentId(System.String)">
      <summary>
            Resolves a handle for a single component with a given component id.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>The component handle.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.IServices">
      <summary>
            Provides a view of registered components along with methods for resolving them.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServices.GetByServiceType(System.Type)">
      <summary>
            Gets a service descriptor by its type, or null if not found.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The service descriptor, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.IServices.GetByServiceTypeName(Gallio.Common.Reflection.TypeName)">
      <summary>
            Gets a service descriptor by its type name, or null if not found.
            </summary>
      <param name="serviceTypeName">The service type name.</param>
      <returns>The service descriptor, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceTypeName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.IServices.Item(System.String)">
      <summary>
            Gets a service descriptor by its id, or null if not found.
            </summary>
      <param name="serviceId">The service id.</param>
      <returns>The service descriptor, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.ObjectFactory">
      <summary>
            Builds objects and performs dependency injection via a service locator.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ObjectFactory.#ctor(Gallio.Runtime.Extensibility.IObjectDependencyResolver,System.Type,Gallio.Common.Collections.PropertySet)">
      <summary>
            Creates an object factory.
            </summary>
      <param name="dependencyResolver">The dependency resolver.</param>
      <param name="objectType">The object type.</param>
      <param name="properties">The object properties.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dependencyResolver" />,
            <paramref name="objectType" /> or <paramref name="properties" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ObjectFactory.CreateInstance">
      <summary>
            Creates an instance of the object described by this factory.
            </summary>
      <returns>The instance, not null.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.PluginCatalog">
      <summary>
            A plugin catalog implementation that verifies plugin dependencies and assembly references.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginCatalog.#ctor">
      <summary>
            Creates an empty plugin catalog.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginCatalog.AddPlugin(Gallio.Runtime.Extensibility.Schema.Plugin,System.IO.DirectoryInfo)"></member>
    <member name="M:Gallio.Runtime.Extensibility.PluginCatalog.ApplyTo(Gallio.Runtime.Extensibility.IRegistry)"></member>
    <member name="T:Gallio.Runtime.Extensibility.PluginLoadedEventArgs">
      <summary>
            Details of a plugin that has just been loaded.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoadedEventArgs.#ctor(Gallio.Runtime.Extensibility.Schema.Plugin,System.IO.DirectoryInfo,System.String)">
      <summary>
             Constructor.
            </summary>
      <param name="plugin">The loaded plugin.</param>
      <param name="baseDirectory">The base directory.</param>
      <param name="pluginFilePath">The plugin file path.</param>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginLoadedEventArgs.BaseDirectory">
      <summary>
            The base directory for the plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginLoadedEventArgs.Plugin">
      <summary>
            The loaded plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginLoadedEventArgs.PluginFilePath">
      <summary>
            The file path of the plugin.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.PluginLoader">
      <summary>
            Loads plugins by recursively scanning plugin paths in the file system
            for *.plugin files that contain plugin metadata.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoader.#ctor">
      <summary>
            Creates a file system plugin loader.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoader.AddPluginPath(System.String)">
      <summary>
            Adds a plugin path.
            </summary>
      <param name="pluginPath">The plugin path to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginPath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoader.AddPluginXml(System.String,System.IO.DirectoryInfo)">
      <summary>
            Adds a plugin definition as XML.
            </summary>
      <param name="pluginXml">The plugin xml.</param>
      <param name="baseDirectory">The plugin base directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginXml" />
            or <paramref name="baseDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoader.DefinePreprocessorConstant(System.String)">
      <summary>
            Defines a constant to be used by the preprocessor.
            </summary>
      <param name="constant">The constant name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="constant" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginLoader.InitialPreprocessorConstants">
      <summary>
            Gets the collection of initial preprocessor constants.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginLoader.InstallationId">
      <summary>
            Gets or sets the installation id.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoader.LoadPlugins(Gallio.Runtime.Extensibility.PluginLoader.PluginCallback)">
      <summary>
            Loads plugins by recursively searching the plugin paths for *.plugin files.
            </summary>
      <param name="pluginCallback">A function that receives plugin metadata as it
            becomes available, not null.</param>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginLoader.PluginPaths">
      <summary>
            Gets the list of plugin paths.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginLoader.PopulateCatalog(Gallio.Runtime.Extensibility.IPluginCatalog)">
      <summary>
            Populates a catalog with plugin metadata derived from the currently
            registered plugin data sources.
            </summary>
      <param name="catalog">The plugin catalog to populate.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="catalog" />
            is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.PluginLoader.PluginCallback">
      <summary>
            The plugin callback type used by <see cref="M:Gallio.Runtime.Extensibility.PluginLoader.LoadPlugins(Gallio.Runtime.Extensibility.PluginLoader.PluginCallback)" />.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.PluginRegistration">
      <summary>
            Provides information used to register a plugin.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginRegistration.#ctor(System.String,Gallio.Common.Reflection.TypeName,System.IO.DirectoryInfo)">
      <summary>
            Creates a plugin registration.
            </summary>
      <param name="pluginId">The plugin id.</param>
      <param name="pluginTypeName">The plugin type name.</param>
      <param name="baseDirectory">The plugin base directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <aramref name="pluginId" />,
            <paramref name="pluginTypeName" /> or <paramref name="baseDirectory" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.AssemblyBindings">
      <summary>
            Gets or sets the list of plugin assembly bindings.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.BaseDirectory">
      <summary>
            Gets or sets the base directory.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.EnableCondition">
      <summary>
            Gets or sets a condition governing the activation of the plugin,
            or null if there is no condition.  The plugin will be disabled if a
            condition is provided but is not satisfied.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.FilePaths">
      <summary>
            Gets or sets the paths of files that belong to the plugin relative to the
            plugin base directory.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.PluginDependencies">
      <summary>
            Gets or sets the list of plugin dependencies.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.PluginHandlerFactory">
      <summary>
            Gets or sets the plugin handler factory.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.PluginId">
      <summary>
            Gets or sets the plugin id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.PluginProperties">
      <summary>
            Gets or sets the plugin properties.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.PluginTypeName">
      <summary>
            Gets or sets the plugin type name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.ProbingPaths">
      <summary>
            Gets or sets the list of probing paths in which to
            attempt to locate referenced assemblies.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.RecommendedInstallationPath">
      <summary>
            Gets or sets the recommended installation path for the plugin files relative to
            the runtime installation directory, or null if there is no preference.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginRegistration.TraitsProperties">
      <summary>
            Gets or sets the traits properties.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.PluginTraits">
      <summary>
            Describes the traits of a <see cref="T:Gallio.Runtime.Extensibility.IPlugin" /> component.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.PluginTraits.#ctor(System.String)">
      <summary>
            Creates a plugin traits object.
            </summary>
      <param name="name">The localized display name of the plugin.</param>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginTraits.Description">
      <summary>
            Gets or sets the localized plugin description, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginTraits.Icon">
      <summary>
            Gets or sets the plugin icon, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginTraits.Name">
      <summary>
            Gets the localized display name of the plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.PluginTraits.Version">
      <summary>
            Gets or sets the plugin version number, or null if none.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Registry">
      <summary>
            Provides a configurable registry of plugins, services and components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Registry.#ctor">
      <summary>
            Creates an empty registry.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Registry.Components">
      <summary>
            Gets a view of all registered components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Registry.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Registry.Dispose(System.Boolean)">
      <summary>
            Disposes the registry.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Registry.Plugins">
      <summary>
            Gets a view of all registered plugins.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Registry.RegisterComponent(Gallio.Runtime.Extensibility.ComponentRegistration)">
      <summary>
            Registers a component and returns its descriptor.
            </summary>
      <param name="componentRegistration">The component registration.</param>
      <returns>The new component descriptor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentRegistration" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if there is already a component registered with the same id
            or if the plugin or service does not belong to this registry or if the component implements a service
            provided by a plugin that was not listed as a plugin dependency of the component's plugin.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Registry.RegisterPlugin(Gallio.Runtime.Extensibility.PluginRegistration)">
      <summary>
            Registers a plugin and returns its descriptor.
            </summary>
      <param name="pluginRegistration">The plugin registration.</param>
      <returns>The new plugin descriptor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginRegistration" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if there is already a plugin registered with the same id
            or if the registration contains errors.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Registry.RegisterService(Gallio.Runtime.Extensibility.ServiceRegistration)">
      <summary>
            Registers a service and returns its descriptor.
            </summary>
      <param name="serviceRegistration">The service registration.</param>
      <returns>The new service descriptor.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceRegistration" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if there is already a service registered with the same id or type name
            or if the plugin does not belong to this registry.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Registry.ResourceLocator">
      <summary>
            Gets a resource locator based on the contents of the registry.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Registry.ServiceLocator">
      <summary>
            Gets a service locator based on the contents of the registry.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Registry.Services">
      <summary>
            Gets a view of all registered services.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.RegistryResourceLocator">
      <summary>
            A resource locator implementation based on a registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryResourceLocator.#ctor(Gallio.Runtime.Extensibility.IRegistry)">
      <summary>
            Creates a resource locator based on a registry.
            </summary>
      <param name="registry">The registry.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="registry" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.RegistryResourceLocator.Registry">
      <summary>
            Gets the registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryResourceLocator.ResolveResourcePath(System.Uri)">
      <summary>
            Resolves a resource Uri to a full path.
            </summary>
      <param name="resourceUri">The resource Uri.</param>
      <returns>The resolved full path of the resource.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="resourceUri" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the uri cannot be resolved.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.RegistryServiceLocator">
      <summary>
            A service locator implementation based on a registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.#ctor(Gallio.Runtime.Extensibility.IRegistry)">
      <summary>
            Creates a service locator based on a registry.
            </summary>
      <param name="registry">The registry.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="registry" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.HasComponent(System.String)">
      <summary>
            Returns true if there is a component registered with the given component id and it has not been disabled.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>True if there is a component registered with the given component id.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.HasService(System.Type)">
      <summary>
            Returns true if the there is a service registered with the specified type and it has not been disabled.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>True if there is at least one component registered for the given service type.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.RegistryServiceLocator.Registry">
      <summary>
            Gets the registry.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.Resolve``1"></member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.Resolve(System.Type)">
      <summary>
            Resolves a single component instance that implements a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The component instance that implements the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveAll``1"></member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveAll(System.Type)">
      <summary>
            Resolves all component instances that implement a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The list of component instances that implement the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveAllHandles``2"></member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveAllHandles(System.Type)">
      <summary>
            Resolves handles for all components that implement a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The list of handles of components that implement the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveByComponentId(System.String)">
      <summary>
            Resolves a single component instance with a given component id.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>The component instance.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveHandle``2"></member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveHandle(System.Type)">
      <summary>
            Resolves a handle for a single component that implements a given service type.
            </summary>
      <param name="serviceType">The service type.</param>
      <returns>The handle for the component implements the service.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceType" /> is null.</exception>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveHandleByComponentId(System.String)">
      <summary>
            Resolves a handle for a single component with a given component id.
            </summary>
      <param name="componentId">The component id.</param>
      <returns>The component handle.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if no component was found
            or if a component could not be resolved.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.ServiceRegistration">
      <summary>
            Provides information used to register a service.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.ServiceRegistration.#ctor(Gallio.Runtime.Extensibility.IPluginDescriptor,System.String,Gallio.Common.Reflection.TypeName)">
      <summary>
            Creates a service registration.
            </summary>
      <param name="plugin">The plugin to which the service will belong.</param>
      <param name="serviceId">The service id.</param>
      <param name="serviceTypeName">The service type name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />, <paramref name="serviceId" />
            or <paramref name="serviceTypeName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ServiceRegistration.DefaultComponentTypeName">
      <summary>
            Gets or sets the default component type name, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ServiceRegistration.Plugin">
      <summary>
            Gets or sets the plugin to which the service will belong.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ServiceRegistration.ServiceId">
      <summary>
            Gets or sets the service id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ServiceRegistration.ServiceTypeName">
      <summary>
            Gets or sets the service type name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.ServiceRegistration.TraitsHandlerFactory">
      <summary>
            Gets or sets the traits handler factory.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.SingletonHandlerFactory">
      <summary>
            A handler factory for singletons.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.SingletonHandlerFactory.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Extensibility.SingletonHandlerFactory" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.SingletonHandlerFactory.CreateHandler(Gallio.Runtime.Extensibility.IObjectDependencyResolver,System.Type,System.Type,Gallio.Common.Collections.PropertySet)">
      <summary>
            Creates a handler.
            </summary>
      <param name="dependencyResolver">The object dependency resolver, not null.</param>
      <param name="contractType">The contract type: the handler will ensure that the objects it produces are subclasses or implementations of the contract type.</param>
      <param name="objectType">The object type: the handler will produce objects that are (possibly decorated) instances of the object type.</param>
      <param name="properties">The configuration properties for the objects produced by the handler.</param>
      <returns>The handler.</returns>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Traits">
      <summary>
            The base class for plugin, service or component traits.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Traits.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Extensibility.Traits" /> class</summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.TraitsAttribute">
      <summary>
            Specifies the traits class associated with a service contract.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.TraitsAttribute.#ctor(System.Type)">
      <summary>
            Binds a traits interface to a service contract.
            </summary>
      <param name="traitsType">The traits type, a subclass of <see cref="T:Gallio.Runtime.Extensibility.Traits" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="traitsType" />
            is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="traitsType" />
            is not a class or if it is not derived from <see cref="T:Gallio.Runtime.Extensibility.Traits" />.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.TraitsAttribute.TraitsType">
      <summary>
            Gets the traits type, a subclass of <see cref="T:Gallio.Runtime.Extensibility.Traits" />.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.Assembly">
      <summary>
            Describes an assembly used by a plugin and how the loader should bind to it.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Assembly.#ctor(System.String)">
      <summary>
            Creates an assembly reference.
            </summary>
      <param name="fullName">The assembly full name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fullName" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Assembly.ApplyPublisherPolicy">
      <summary>
            Gets or sets whether to apply the assembly publisher policy.  Default is <c>true</c>.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Assembly.BindingRedirects">
      <summary>
            Gets the mutable list of assembly binding redirects.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Assembly.CodeBase">
      <summary>
            Gets or sets the assembly code base as a relative path to the plugin
            base directory or to the 'bin' directory within, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Assembly.FullName">
      <summary>
            Gets or sets the assembly full name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Assembly.QualifyPartialName">
      <summary>
            Gets or sets whether the assembly full name should be used to qualify all partial
            name references to the assembly.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Assembly.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.BindingRedirect">
      <summary>
            Specifies an old version range for an assembly binding redirect.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.BindingRedirect.#ctor(System.String)">
      <summary>
            Creates an assembly binding redirect.
            </summary>
      <param name="oldVersion">The old assembly version number or range.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="oldVersion" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.BindingRedirect.OldVersion">
      <summary>
            Gets or sets the old assembly version number or range.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.BindingRedirect.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.Cache">
      <summary>
            Describes a plugin cache file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Cache.#ctor">
      <summary>
            Creates an empty cache.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Cache.InstallationId">
      <summary>
            Gets or sets the installation id of the Gallio installation whose plugin information has been recorded in the cache, or null if not known.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Cache.PluginInfos">
      <summary>
            Gets the mutable list of plugin information records in the cache.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Cache.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.CachePluginInfo">
      <summary>
            Describes information about a plugin whose metadata has been cached.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.CachePluginInfo.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Extensibility.Schema.CachePluginInfo" /> class</summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.CachePluginInfo.BaseDirectory">
      <summary>
            Gets or sets the plugin base directory path.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.CachePluginInfo.Plugin">
      <summary>
            Gets or sets the plugin metadata.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.CachePluginInfo.PluginFile">
      <summary>
            Gets or sets the plugin file path.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.CachePluginInfo.PluginFileModificationTime">
      <summary>
            Gets or sets the plugin file modification time stamp.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.CachePluginInfo.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.Component">
      <summary>
            Represents a component descriptor in Xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Component.#ctor(System.String,System.String,System.String)">
      <summary>
            Creates a component descriptor.
            </summary>
      <param name="componentId">The component id.</param>
      <param name="serviceId">The service id.</param>
      <param name="componentType">The assembly-qualified component type name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="componentId" />
            or <paramref name="serviceId" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Component.ComponentId">
      <summary>
            Gets or sets the component id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Component.ComponentType">
      <summary>
            Gets or sets the assembly-qualified component type name, or null to use the 
            default for the service.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Component.Parameters">
      <summary>
            Gets or sets the component parameters, or null if there are none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Component.ServiceId">
      <summary>
            Gets or sets the service id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Component.Traits">
      <summary>
            Gets or sets the component traits, or null if there are none.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Component.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.Dependency">
      <summary>
            Describes a dependency on another plugin.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Dependency.#ctor(System.String)">
      <summary>
            Creates an plugin dependency reference.
            </summary>
      <param name="pluginId">The referenced plugin id.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginId" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Dependency.PluginId">
      <summary>
            Gets or sets the referenced plugin id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Dependency.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.File">
      <summary>
            Describes a file that belongs to a plugin.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.File.#ctor(System.String)">
      <summary>
            Creates a file description.
            </summary>
      <param name="path">The path of the file relative to the plugin base directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.File.Path">
      <summary>
            Gets or sets the path of the file relative to the plugin base directory.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.File.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.KeyValueTable">
      <summary>
            Represents a table of key and value pairs as a sequence of Xml elements whose local name
            represents the key and whose text body contains the value.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.KeyValueTable.#ctor">
      <summary>
            Creates an empty key value table.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.KeyValueTable.Entries">
      <summary>
            Gets or sets the Xml elements that describe the property entries
            during serialization.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.KeyValueTable.PropertySet">
      <summary>
            Gets or sets a mutable view of the properties as a property set.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.Plugin">
      <summary>
            Represents a plugin descriptor in Xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Plugin.#ctor(System.String)">
      <summary>
            Creates a plugin descriptor with an id.
            </summary>
      <param name="pluginId">The plugin id.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginId" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Assemblies">
      <summary>
            Gets the mutable list of plugin assembly bindings.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Components">
      <summary>
            Gets the mutable list of components belonging to the plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Dependencies">
      <summary>
            Gets the mutable list of plugin dependencies.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.EnableCondition">
      <summary>
            Gets or sets a condition governing the activation of the plugin,
            or null if there is no condition.  The plugin will be disabled if a
            condition is provided but is not satisfied.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Files">
      <summary>
            Gets the mutable list of files that belong to a plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Parameters">
      <summary>
            Gets or sets the plugin parameters, or null if there are none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.PluginId">
      <summary>
            Gets or sets the plugin id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.PluginType">
      <summary>
            Gets or sets the assembly-qualified plugin type name, or null if the default
            implementation may be used.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.ProbingPaths">
      <summary>
            Gets the mutable list of additional probing paths in which to
            attempt to locate referenced assemblies.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.RecommendedInstallationPath">
      <summary>
            Gets or sets the recommended installation path for the plugin files relative to
            the runtime installation directory, or null if there is no preference.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Services">
      <summary>
            Gets the mutable list of services belonging to the plugin.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Plugin.Traits">
      <summary>
            Gets or sets the plugin traits, or null if there are none.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Plugin.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Extensibility.Schema.Service">
      <summary>
            Represents a service descriptor in Xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Service.#ctor(System.String,System.String)">
      <summary>
            Creates a service descriptor.
            </summary>
      <param name="serviceId">The service id.</param>
      <param name="serviceType">The service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="serviceId" /> or
            <paramref name="serviceType" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Service.DefaultComponentType">
      <summary>
            Gets or sets the assembly-qualified default component type name, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Service.ServiceId">
      <summary>
            Gets or sets the service id.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Extensibility.Schema.Service.ServiceType">
      <summary>
            Gets or sets the assembly-qualified service type name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Extensibility.Schema.Service.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.AssemblyFileTypeRecognizer">
      <summary>
            Recognizes .Net assemblies by looking for the CLR header within the file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.AssemblyFileTypeRecognizer.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.FileTypes.AssemblyFileTypeRecognizer" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.AssemblyFileTypeRecognizer.IsRecognizedFile(Gallio.Runtime.FileTypes.IFileInspector)">
      <summary>
            Returns true if the recognizer recognizes the file described by the file inspector.
            </summary>
      <param name="fileInspector">The file inspector, never null.</param>
      <returns>True if the file type was recognized.</returns>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.FileType">
      <summary>
            Describes a file type.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileType.#ctor(System.String,System.String,Gallio.Runtime.FileTypes.FileType)">
      <summary>
            Creates a file type object.
            </summary>
      <param name="id">The file type id.</param>
      <param name="description">The file type description.</param>
      <param name="superType">The super type of the file type, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> 
            or <paramref name="description" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" /> is empty.</exception>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileType.Description">
      <summary>
            Gets the file type description.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileType.Id">
      <summary>
            Gets the id of the file type.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileType.IsSameOrSubtypeOf(Gallio.Runtime.FileTypes.FileType)">
      <summary>
            Returns true if this file type is equal to or is a subtype of some other type.
            </summary>
      <param name="otherType">The other type.</param>
      <returns>True if the condition is satisfied.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="otherType" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileType.IsSameOrSubtypeOfAny(Gallio.Runtime.FileTypes.FileType[])">
      <summary>
            Returns true if this file type is equal to or is a subtype of any of the specified other types.
            </summary>
      <param name="otherTypes">The other types.</param>
      <returns>True if the condition is satisfied.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="otherTypes" /> is null
            or contains a null.</exception>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileType.SuperType">
      <summary>
            Gets the super type of this file type, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileType.ToString">
      <summary>
                    Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </summary>
      <returns>
                    A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
                </returns>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.FileTypeManager">
      <summary>
            A built-in file type manager that identified file types based on a
            set of registered <see cref="T:Gallio.Runtime.FileTypes.IFileTypeRecognizer" /> components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Runtime.FileTypes.IFileTypeRecognizer,Gallio.Runtime.FileTypes.FileTypeRecognizerTraits}[])">
      <summary>
            Creates a file type manager.
            </summary>
      <param name="fileTypeRecognizerHandles">The file type recognizer component handles.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileTypeRecognizerHandles" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.GetFileTypeById(System.String)">
      <summary>
            Gets information about a registered file type by its id.
            </summary>
      <param name="id">The file type id.</param>
      <returns>The associated file type information, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.GetFileTypes">
      <summary>
            Gets information about all registered file types.
            </summary>
      <returns>The list of all registered file types.</returns>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.IdentifyFileType(Gallio.Runtime.FileTypes.IFileInspector)">
      <summary>
            Identifies the type of a file by consulting the set of all registered file types.
            </summary>
      <param name="fileInspector">The file inspector for the file to identify.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInspector" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.IdentifyFileType(Gallio.Runtime.FileTypes.IFileInspector,System.Collections.Generic.IEnumerable{Gallio.Runtime.FileTypes.FileType})">
      <summary>
            Identifies the type of a file by consulting only the specified list of file type candidates.
            </summary>
      <param name="fileInspector">The file inspector for the file to identify.</param>
      <param name="candidates">The collection of specific file type candidates to consider.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified
            among the candidates considered.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInspector" /> or
            <paramref name="candidates" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.IdentifyFileType(System.IO.FileInfo)">
      <summary>
            Identifies the type of a file by consulting the set of all registered file types.
            </summary>
      <param name="fileInfo">The file to identify.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInfo" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeManager.IdentifyFileType(System.IO.FileInfo,System.Collections.Generic.IEnumerable{Gallio.Runtime.FileTypes.FileType})">
      <summary>
            Identifies the type of a file by consulting only the specified list of file type candidates.
            </summary>
      <param name="fileInfo">The file to identify.</param>
      <param name="candidates">The collection of specific file type candidates to consider.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified
            among the candidates considered.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInfo" /> or
            <paramref name="candidates" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileTypeManager.UnknownFileType">
      <summary>
            Gets a file type used to identify a file of unknown type.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits">
      <summary>
            Provides metadata about a <see cref="T:Gallio.Runtime.FileTypes.IFileTypeRecognizer" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits.#ctor(System.String,System.String)">
      <summary>
            Creates traits for a file type recognizer.
            </summary>
      <param name="id">The file type id.</param>
      <param name="description">The file type description.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> or
            <paramref name="description" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" /> is empty.</exception>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits.ContentsRegex">
      <summary>
            Specifies a regular expression used to identify the type of a file by its contents,
            or null if none.  The matching is performed case-insensitively.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits.Description">
      <summary>
            Gets the file type description.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits.FileNameRegex">
      <summary>
            Specifies a regular expression used to identify the type of a file by its name,
            or null if none.  The matching is performed case-insensitively.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits.Id">
      <summary>
            Gets the file type id.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.FileTypeRecognizerTraits.SuperTypeId">
      <summary>
            Gets or sets the id of the file type, or null if none.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.IFileInspector">
      <summary>
            Provides a mechanism for inspecting the metadata and contents of a particular file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileInspector.TryGetContents(System.String@)">
      <summary>
            Tries to get the contents of the file as a string. 
            </summary>
      <param name="contents">Returns the file contents when available, or null otherwise.</param>
      <returns>True if the file contents were available.</returns>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileInspector.TryGetFileInfo(System.IO.FileInfo@)">
      <summary>
            Tries to get the file info associated with the original path of the file.
            </summary>
      <param name="fileInfo">Returns the file info when available, or null otherwise.</param>
      <returns>True if the file info was available.</returns>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileInspector.TryGetStream(System.IO.Stream@)">
      <summary>
            Tries to get the file stream opened for reading.
            </summary>
      <param name="stream">Returns the file stream when available, or null otherwise.</param>
      <returns>True if the file stream was available.</returns>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.IFileTypeManager">
      <summary>
            Provides services related to determining the type of a file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeManager.GetFileTypeById(System.String)">
      <summary>
            Gets information about a registered file type by its id.
            </summary>
      <param name="id">The file type id.</param>
      <returns>The associated file type information, or null if not found.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="id" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeManager.GetFileTypes">
      <summary>
            Gets information about all registered file types.
            </summary>
      <returns>The list of all registered file types.</returns>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeManager.IdentifyFileType(Gallio.Runtime.FileTypes.IFileInspector)">
      <summary>
            Identifies the type of a file by consulting the set of all registered file types.
            </summary>
      <param name="fileInspector">The file inspector for the file to identify.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInspector" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeManager.IdentifyFileType(Gallio.Runtime.FileTypes.IFileInspector,System.Collections.Generic.IEnumerable{Gallio.Runtime.FileTypes.FileType})">
      <summary>
            Identifies the type of a file by consulting only the specified list of file type candidates.
            </summary>
      <param name="fileInspector">The file inspector for the file to identify.</param>
      <param name="candidates">The collection of specific file type candidates to consider.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified
            among the candidates considered.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInspector" /> or
            <paramref name="candidates" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeManager.IdentifyFileType(System.IO.FileInfo)">
      <summary>
            Identifies the type of a file by consulting the set of all registered file types.
            </summary>
      <param name="fileInfo">The file to identify.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInfo" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeManager.IdentifyFileType(System.IO.FileInfo,System.Collections.Generic.IEnumerable{Gallio.Runtime.FileTypes.FileType})">
      <summary>
            Identifies the type of a file by consulting only the specified list of file type candidates.
            </summary>
      <param name="fileInfo">The file to identify.</param>
      <param name="candidates">The collection of specific file type candidates to consider.</param>
      <returns>The file type of the file, or <see cref="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType" /> type if unidentified
            among the candidates considered.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInfo" /> or
            <paramref name="candidates" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the file cannot be accessed.</exception>
    </member>
    <member name="P:Gallio.Runtime.FileTypes.IFileTypeManager.UnknownFileType">
      <summary>
            Gets a file type used to identify a file of unknown type.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.IFileTypeRecognizer">
      <summary>
            Recognizes the type of a file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.IFileTypeRecognizer.IsRecognizedFile(Gallio.Runtime.FileTypes.IFileInspector)">
      <summary>
            Returns true if the recognizer recognizes the file described by the file inspector.
            </summary>
      <param name="fileInspector">The file inspector, never null.</param>
      <returns>True if the file type was recognized.</returns>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.LazyFileInspector">
      <summary>
            A file inspector that opens a file only on demand as needed.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.LazyFileInspector.#ctor(System.IO.FileInfo)">
      <summary>
            Creates a file inspector for the file describe the specified file info object.
            </summary>
      <param name="fileInfo">The file to inspect.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fileInfo" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.LazyFileInspector.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.LazyFileInspector.Dispose(System.Boolean)">
      <summary>
            Disposes the inspector.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Runtime.FileTypes.LazyFileInspector.Dispose" /> was called directly.</param>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.LazyFileInspector.TryGetContents(System.String@)">
      <summary>
            Tries to get the contents of the file as a string. 
            </summary>
      <param name="contents">Returns the file contents when available, or null otherwise.</param>
      <returns>True if the file contents were available.</returns>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.LazyFileInspector.TryGetFileInfo(System.IO.FileInfo@)">
      <summary>
            Tries to get the file info associated with the original path of the file.
            </summary>
      <param name="fileInfo">Returns the file info when available, or null otherwise.</param>
      <returns>True if the file info was available.</returns>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.LazyFileInspector.TryGetStream(System.IO.Stream@)">
      <summary>
            Tries to get the file stream opened for reading.
            </summary>
      <param name="stream">Returns the file stream when available, or null otherwise.</param>
      <returns>True if the file stream was available.</returns>
    </member>
    <member name="T:Gallio.Runtime.FileTypes.SimpleFileTypeRecognizer">
      <summary>
            A simple file type recognizer that does not perform any filtering
            beyond that which is already specified by its associated traits.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.SimpleFileTypeRecognizer.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.FileTypes.SimpleFileTypeRecognizer" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.FileTypes.SimpleFileTypeRecognizer.IsRecognizedFile(Gallio.Runtime.FileTypes.IFileInspector)">
      <summary>
            Returns true if the recognizer recognizes the file described by the file inspector.
            </summary>
      <param name="fileInspector">The file inspector, never null.</param>
      <returns>True if the file type was recognized.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.BooleanFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Boolean" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.BooleanFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.BooleanFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.BooleanFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.BooleanFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.ByteFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Byte" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.ByteFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.ByteFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.ByteFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.ByteFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.CharFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Char" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.CharFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.CharFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.CharFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.CharFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.ConvertToStringFormattingRule">
      <summary>
            A default formatting rule for objects based on using the <see cref="T:Gallio.Runtime.Conversions.IConverter" />
            to convert the value to a string.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.ConvertToStringFormattingRule.#ctor(Gallio.Runtime.Conversions.IConverter)">
      <summary>
            Creates a conversion to string formatting rule.
            </summary>
      <param name="converter">The converter to use.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="converter" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Formatting.ConvertToStringFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.ConvertToStringFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.DateTimeFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.DateTime" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DateTimeFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.DateTimeFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DateTimeFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DateTimeFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.DBNullFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.DBNull" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DBNullFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.DBNullFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DBNullFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DBNullFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.DecimalFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Decimal" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DecimalFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.DecimalFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DecimalFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DecimalFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.DictionaryEntryFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Collections.DictionaryEntry" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DictionaryEntryFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.DictionaryEntryFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DictionaryEntryFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DictionaryEntryFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.DoubleFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Double" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DoubleFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.DoubleFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DoubleFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.DoubleFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.EnumerableFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Collections.IEnumerable" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.EnumerableFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.EnumerableFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.EnumerableFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.EnumerableFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.Formatter">
      <summary>
            Service locator for <see cref="T:Gallio.Runtime.Formatting.IFormatter" />.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Formatting.Formatter.Instance">
      <summary>
            Gets the global formatter singleton.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Formatting.FormattingRulePriority">
      <summary>
            Typical <see cref="T:Gallio.Runtime.Formatting.IFormattingRule" /> priority values to use as guidelines.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Formatting.FormattingRulePriority.Best">
      <summary>
            The best possible formatting rule priority.  
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Formatting.FormattingRulePriority.Better">
      <summary>
            A better than typical rule.  
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Formatting.FormattingRulePriority.Default">
      <summary>
            The default formatting rule priority.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Formatting.FormattingRulePriority.Fallback">
      <summary>
            Fallback rule priority.  
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Formatting.FormattingRulePriority.Generic">
      <summary>
            Generic rule priority.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Formatting.FormattingRulePriority.Typical">
      <summary>
            Typical rule priority.  
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Formatting.IFormatter">
      <summary>
            Provides services for formatting objects for display.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.IFormatter.Format(System.Object)">
      <summary>
            Formats an object to a string for display.
            </summary>
      <param name="obj">The object to format, may be null.</param>
      <returns>The formatted string, never null and never an empty string.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.IFormattingRule">
      <summary>
            A formatting rule encapsulates an algorithm for formatting values of particular
            types to strings for presentation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.IFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.IFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.IntegerFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Int16" />, <see cref="T:System.Int32" />, <see cref="T:System.Int64" />,
            <see cref="T:System.UInt16" />, <see cref="T:System.UInt32" />, and <see cref="T:System.UInt64" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.IntegerFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.IntegerFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.IntegerFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.IntegerFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.KeyValuePairFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Collections.Generic.KeyValuePair`2" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.KeyValuePairFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.KeyValuePairFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.KeyValuePairFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.KeyValuePairFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.RuleBasedFormatter">
      <summary>
            A rule-based formatter uses a set of <see cref="T:Gallio.Runtime.Formatting.IFormattingRule" />s to
            format values appropriately.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.RuleBasedFormatter.#ctor(Gallio.Runtime.Formatting.IFormattingRule[])">
      <summary>
            Creates a rule-based formatter.
            </summary>
      <param name="rules">The rules to use.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="rules" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Formatting.RuleBasedFormatter.Format(System.Object)">
      <summary>
            Formats an object to a string for display.
            </summary>
      <param name="obj">The object to format, may be null.</param>
      <returns>The formatted string, never null and never an empty string.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.SByteFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.SByte" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.SByteFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.SByteFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.SByteFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.SByteFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.SingleFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Single" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.SingleFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.SingleFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.SingleFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.SingleFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.StringFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.String" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StringFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.StringFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StringFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StringFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.StructuralFormattingRule">
      <summary>
            A formatting rule that describes the structure of objects in terms of their constituent
            properties and fields.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StructuralFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.StructuralFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StructuralFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StructuralFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.StubFormatter">
      <summary>
            A formatter that is used when the runtime is not initialized.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.StubFormatter.#ctor">
      <summary>
            Creates a stub formatter using only a few built-in formatting rules.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Formatting.TypeFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Type" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.TypeFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.TypeFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.TypeFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.TypeFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Formatting.XPathNavigableFormattingRule">
      <summary>
            A formatting rule for <see cref="T:System.Xml.XPath.IXPathNavigable" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.XPathNavigableFormattingRule.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Formatting.XPathNavigableFormattingRule" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Formatting.XPathNavigableFormattingRule.Format(System.Object,Gallio.Runtime.Formatting.IFormatter)">
      <summary>
            Formats the specified object.
            </summary>
      <param name="obj">The object to format, never null.</param>
      <param name="formatter">The formatter to use for recursive formatting, never null.</param>
      <returns>The formatted string representation of the object or null if the object
            could not be formatted to produce a non-empty string.</returns>
    </member>
    <member name="M:Gallio.Runtime.Formatting.XPathNavigableFormattingRule.GetPriority(System.Type)">
      <summary>
            Gets the formatting rule's priority for object of the specified type.
            </summary>
      <param name="type">The type of object, never null.</param>
      <returns>The priority of this rule, or null if the rule does not support formatting the specified object type.</returns>
    </member>
    <member name="T:Gallio.Runtime.Hosting.AppDomainUtils">
      <summary>
            Utilities for working with AppDomains.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.AppDomainUtils.CreateAppDomain(System.String,System.String,System.String,System.Boolean)">
      <summary>
            Creates an AppDomain.
            </summary>
      <param name="applicationName">The application name for the new AppDomain, or null if none.</param>
      <param name="applicationBaseDirectory">The application base directory for the new AppDomain, or null to use the current one.</param>
      <param name="configurationFile">The configuration file for the new AppDomain, or null to use the current one.</param>
      <param name="enableShadowCopy">If true, enables shadow copying within the AppDomain.</param>
      <returns>The new AppDomain.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.AppDomainUtils.CreateRemoteInstance(System.AppDomain,System.Type,System.Object[])">
      <summary>
            Creates a remote instance of a type within another AppDomain.
            </summary>
      <param name="appDomain">The AppDomain in which to create the instance.</param>
      <param name="type">The type to instantiate.</param>
      <param name="args">The constructor arguments for the type.</param>
      <returns>The remote instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="appDomain" /> or <paramref name="type" />
            is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.BaseHost">
      <summary>
            Base implementation of <see cref="T:Gallio.Runtime.Hosting.IHost" /> that performs argument validation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.#ctor(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a host.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" />
            or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.AcquireHostService">
      <summary>
            Gets the host service.
            </summary>
      <returns>The host service, or null if the host service was not available.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.AttachDebuggerIfNeeded(Gallio.Runtime.Debugging.IDebuggerManager,System.Diagnostics.Process)">
      <summary>
            Attaches the debugger to a process if the host settings require it.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.Connect">
      <summary>
            Initializes the host and connects to the host service.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the host has already been initialized.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
      <exception cref="T:Gallio.Runtime.Hosting.HostException">Thrown if an exception occurred while connecting to the host.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.DetachDebuggerIfNeeded">
      <summary>
            Detaches the debugger from a process if the host settings require it.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.Disconnect">
      <summary>
            Disconnects the host.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="E:Gallio.Runtime.Hosting.BaseHost.Disconnected">
      <summary>
            An event that is raised when the host is disconnected.
            If the host has already been disconnected, the event is fired immediately.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.Dispose(System.Boolean)">
      <summary>
            Disposes the host.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.GetHostService">
      <summary>
            Gets a host service that can be used to perform operations within the host's environment.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the host has been disconnected.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.GetHostSetup">
      <summary>
            Gets a deep copy of the host setup information.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.BaseHost.HostService">
      <summary>
            Gets an reference to the host service, or null if not connected.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.BaseHost.HostSetup">
      <summary>
            Gets the internal host setup information without copying it.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.BaseHost.IsConnected">
      <summary>
            Returns true if the host is connected.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.BaseHost.IsLocal">
      <summary>
            Returns true if the host is local to the creating AppDomain, false if it
            must be accessed across a remote channel.  
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.BaseHost.Logger">
      <summary>
            Gets the logger.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.NotifyDisconnected">
      <summary>
            Sets the state of the host to disconnected and notifies clients.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.ReleaseHostService(Gallio.Runtime.Hosting.IHostService)">
      <summary>
            Releases the host service.
            </summary>
      <param name="hostService">The host service that is being released, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHost.ThrowIfDisposed">
      <summary>
            Throws an exception if the host has been disposed.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.BaseHostFactory">
      <summary>
            An abstract base class for host factories.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostFactory.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Hosting.BaseHostFactory" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostFactory.CreateHost(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a host instance.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <returns>The newly created host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" /> 
            or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostFactory.CreateHostImpl(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates the host.
            </summary>
      <param name="hostSetup">The canonicalized host setup, non-null.</param>
      <param name="logger">The logger, non-null.</param>
      <returns>The host.</returns>
    </member>
    <member name="T:Gallio.Runtime.Hosting.BaseHostService">
      <summary>
            Base implementation of <see cref="T:Gallio.Runtime.Hosting.IHostService" /> that performs argument validation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Hosting.BaseHostService" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.CreateInstance(System.String,System.String)">
      <summary>
            Creates an instance of a remote object given an assembly name and type name.
            </summary>
      <param name="assemblyName">The name of assembly that contains the type.</param>
      <param name="typeName">The full name of the type.</param>
      <returns>The object handle of the instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> or
            <paramref name="typeName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.CreateInstanceFrom(System.String,System.String)">
      <summary>
            Creates an instance of a remote object given an assembly path and type name.
            </summary>
      <param name="assemblyPath">The path of assembly that contains the type.</param>
      <param name="typeName">The full name of the type.</param>
      <returns>The object handle of the instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> or
            <paramref name="typeName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.CreateInstanceFromImpl(System.String,System.String)">
      <summary>
            Internal implementation of <see cref="M:Gallio.Runtime.Hosting.BaseHostService.CreateInstanceFrom(System.String,System.String)" />.
            </summary>
      <param name="assemblyPath">The assembly path, not null.</param>
      <param name="typeName">The type name, not null.</param>
      <returns>The created object handle.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.CreateInstanceImpl(System.String,System.String)">
      <summary>
            Internal implementation of <see cref="M:Gallio.Runtime.Hosting.BaseHostService.CreateInstance(System.String,System.String)" />.
            </summary>
      <param name="assemblyName">The assembly name, not null.</param>
      <param name="typeName">The type name, not null.</param>
      <returns>The created object handle.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.Dispose(System.Boolean)">
      <summary>
            Disposes the host service.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.Do``2(Gallio.Common.Func{``0,``1},``0)">
      <summary>
            Asks the host to perform the specified action remotely.
            </summary>
      <param name="func">The action to perform.</param>
      <param name="arg">The argument value, if any.</param>
      <typeparam name="TArg">The argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The result value, if any.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="func" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.DoImpl``2(Gallio.Common.Func{``0,``1},``0)">
      <summary>
            Internal implementation of <see cref="M:Gallio.Runtime.Hosting.BaseHostService.Do``2(Gallio.Common.Func{``0,``1},``0)" />.
            </summary>
      <param name="func">The action to perform, not null.</param>
      <param name="arg">The argument value, if any.</param>
      <typeparam name="TArg">The argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The result value, if any.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.Ping">
      <summary>
            Pings the host to verify and maintain connectivity.
            </summary>
      <exception cref="T:Gallio.Runtime.Hosting.HostException">Thrown if the remote host is unreachable.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.PingImpl">
      <summary>
            Internal implementation of <see cref="M:Gallio.Runtime.Hosting.BaseHostService.Ping" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.BaseHostService.ThrowIfDisposed">
      <summary>
            Throws an exception if the host service has been disposed.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.ConfigurationFileLocation">
      <summary>
            Specifies where a <see cref="T:Gallio.Runtime.Hosting.IHost" /> should store the temporary configuration file
            it generates when it is being initialized.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Hosting.ConfigurationFileLocation.None">
      <summary>
            Do not create a configuration file.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Hosting.ConfigurationFileLocation.Temp">
      <summary>
            Stores the configuration file in the user's temporary directory.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Hosting.ConfigurationFileLocation.AppBase">
      <summary>
            Stores the configuration file in the application base directory of the hosted components.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostAssemblyResolverHook">
      <summary>
            Attaches to a <see cref="T:Gallio.Runtime.Hosting.IHost" /> to provide assembly resolution services.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostAssemblyResolverHook.Bootstrap(Gallio.Runtime.Hosting.IHost,System.String)">
      <summary>
            Installs an assembly resolver that provides access to the installation path
            using the <see cref="T:Gallio.Runtime.Loader.AssemblyLoaderBootstrap" />.
            </summary>
      <param name="host">The host.</param>
      <param name="runtimePath">The Gallio runtime path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="host" /> or
            <paramref name="runtimePath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostAssemblyResolverHook.InstallCallback(Gallio.Runtime.Hosting.IHost)">
      <summary>
            Installs an assembly resolver that delegates to the creating <see cref="T:System.AppDomain" />'s
            assembly resolver to locate assemblies whenever the host is unable to find them.
            </summary>
      <param name="host">The host.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="host" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostConfiguration">
      <summary>
            Describes the runtime configuration of a <see cref="T:Gallio.Runtime.Hosting.IHost" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.#ctor">
      <summary>
            Creates a default host configuration.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AddAssemblyBinding(Gallio.Common.Reflection.AssemblyBinding)">
      <summary>
            Adds a binding to the configuration for the specified assembly.
            </summary>
      <param name="assemblyBinding">The assembly binding.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyBinding" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AddAssemblyDependency(Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency)">
      <summary>
            Adds an assembly dependency if it is not already in the configuration.
            </summary>
      <param name="assemblyDependency">The assembly dependency to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyDependency" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AddAssemblyDependency(System.String,System.String,System.String,System.String)">
      <summary>
            Adds an assembly dependency element if a suitable one does not already exist.
            </summary>
      <param name="name">The assembly name.</param>
      <param name="publicKeyToken">The assembly public key token, or null if none.</param>
      <param name="culture">The assembly culture.</param>
      <param name="architecture">The assembly processor architecture, or null if none.</param>
      <returns>The assembly dependency element.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AddAssemblyQualification(Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification)">
      <summary>
            Adds an assembly qualification if it is not already in the configuration.
            </summary>
      <param name="assemblyQualification">The assembly qualification to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyQualification" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AddAssemblyQualification(System.String,System.String)">
      <summary>
            Adds an assembly qualification element if a suitable one does not already exist.
            </summary>
      <param name="partialName">The partial name to quality.</param>
      <param name="fullName">The full name.</param>
      <returns>The assembly qualification element.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if an assembly qualification already
            exists for the same partial name but with a different full name.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AddSupportedRuntimeVersion(System.String)">
      <summary>
            Adds a supported runtime version number if it is not already in the configuration.
            </summary>
      <param name="version">The version number, eg. "v2.0.50727".</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependencies">
      <summary>
            Gets a read-only list of assembly dependencies.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualifications">
      <summary>
            Gets a read-only list of assembly qualifications.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssertUiEnabled">
      <summary>
            Gets or sets whether the <see cref="M:System.Diagnostics.Debug.Assert(System.Boolean)" /> failure dialog is enabled.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.ClearAssemblyDependencies">
      <summary>
            Clears the list of assembly dependencies.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.ClearAssemblyQualifications">
      <summary>
            Clears the list of assembly qualifications.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.ClearSupportedRuntimeVersions">
      <summary>
            Clears the list of supported runtime versions.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.ConfigurationXml">
      <summary>
            Gets or sets the primary Xml configuration data, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.Copy">
      <summary>
            Creates a copy of the host configuration information.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.LegacyUnhandledExceptionPolicyEnabled">
      <summary>
            Gets or sets whether the legacy unhandled exception policy is enabled.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.RemotingCustomErrorsEnabled">
      <summary>
            Gets or sets whether remoting exceptions are substituted with custom errors instead
            of being passed through to the remote client.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.RemoveAssemblyDependency(Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency)">
      <summary>
            Removes an assembly dependency.
            </summary>
      <param name="assemblyDependency">The assembly dependency to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyDependency" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.RemoveAssemblyQualification(Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification)">
      <summary>
            Removes an assembly qualification.
            </summary>
      <param name="assemblyQualification">The assembly qualification to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyQualification" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.RemoveSupportedRuntimeVersion(System.String)">
      <summary>
            Removes a supported runtime version number.
            </summary>
      <param name="version">The version number, eg. "v2.0.50727".</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.SupportedRuntimeVersions">
      <summary>
            Gets a read-only list of supported runtime versions in order of preference.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.ToString">
      <summary>
            Overlays the <see cref="P:Gallio.Runtime.Hosting.HostConfiguration.ConfigurationXml" /> with the additional configuration
            entries necessary to enable the features described by this instance and returns
            the combined Xml configuration.
            </summary>
      <returns>The combined Xml configuration.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.WriteTo(System.IO.TextWriter)">
      <summary>
            Overlays the <see cref="P:Gallio.Runtime.Hosting.HostConfiguration.ConfigurationXml" /> with the additional configuration
            entries necessary to enable the features described by this instance and writes
            the combined Xml configuration to a <see cref="T:System.IO.TextWriter" />.
            </summary>
      <param name="textWriter">The TextWriter where the Xml configuration will be written to.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="textWriter" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the configuration could not be written.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.WriteToFile(System.String)">
      <summary>
            Overlays the <see cref="P:Gallio.Runtime.Hosting.HostConfiguration.ConfigurationXml" /> with the additional configuration
            entries necessary to enable the features described by this instance and writes
            the combined Xml configuration to a file with the given path.
            </summary>
      <param name="path">The file path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path" /> is null.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the configuration could not be written.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect">
      <summary>
            Describes an assembly binding redirection from an old version range to
            a new version.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect.#ctor(System.String,System.String)">
      <summary>
            Creates an assembly binding redirect.
            </summary>
      <param name="oldVersionRange">The range of old versions to redirect, specified
            either as a single version such as "1.2.3.4" or as a range such as "1.2.3.4-10.11.12.13".</param>
      <param name="newVersion">The new version to which the binding should be redirected
            such as "1.2.3.4".</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="oldVersionRange" />
            or <paramref name="newVersion" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect.Copy">
      <summary>
            Creates a copy of the assembly binding redirect information.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect.NewVersion">
      <summary>
            Gets or sets the new version to which the binding should be redirected
            such as "1.2.3.4"
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect.OldVersionRange">
      <summary>
            Gets or sets the range of old versions to redirect, specified
            either as a single version such as "1.2.3.4" or as a range such as "1.2.3.4-10.11.12.13"
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase">
      <summary>
            Describes the location of the codebase of a particular assembly version.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase.#ctor(System.String,System.String)">
      <summary>
            Creates an assembly code base element.
            </summary>
      <param name="version">The assembly version to which this element applies
            such as "1.2.3.4"</param>
      <param name="uri">The Uri that specifies the location of the assembly.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" />
            or <paramref name="uri" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="uri" /> is not an absolute Uri.</exception>
      <exception cref="T:System.UriFormatException">Thrown if <paramref name="uri" /> is not a well-formed Uri.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase.Copy">
      <summary>
            Creates a copy of the assembly binding redirect information.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase.Uri">
      <summary>
            Gets or sets the Uri that specifies the location of the assembly.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="value" /> is not an absolute Uri.</exception>
      <exception cref="T:System.UriFormatException">Thrown if <paramref name="value" /> is not a well-formed Uri.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase.Version">
      <summary>
            Gets or sets the assembly version to which this element applies
            such as "1.2.3.4".
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency">
      <summary>
            Describes a dependent assembly configuration entry that optionally
            specifies the codebase, a publisher policy and binding redirects.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.#ctor(System.String)">
      <summary>
            Creates an assembly dependency.
            </summary>
      <param name="assemblyName">The assembly name.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AddAssemblyBindingRedirect(Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect)">
      <summary>
            Adds an assembly binding redirect if it is not already in the configuration.
            </summary>
      <param name="assemblyBindingRedirect">The assembly binding redirect to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyBindingRedirect" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AddAssemblyBindingRedirect(System.String,System.String)">
      <summary>
            Adds an assembly binding redirect element if a suitable one is not already present.
            </summary>
      <param name="oldVersionRange">Th old version range.</param>
      <param name="newVersion">The new version for redirection.</param>
      <returns>The binding redirect element.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AddAssemblyCodeBase(Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase)">
      <summary>
            Adds an assembly codebase if it is not already in the configuration.
            </summary>
      <param name="assemblyCodeBase">The assembly codebase to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyCodeBase" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AddAssemblyCodeBase(System.String,System.String)">
      <summary>
            Adds an assembly code-base element if a suitable one is not already present.
            </summary>
      <param name="version">The assembly version.</param>
      <param name="uri">The code base uri.</param>
      <returns>The code base element.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.ApplyPublisherPolicy">
      <summary>
            Gets or sets whether to apply the publisher policy for this assembly.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AssemblyBindingRedirects">
      <summary>
            Gets a read-only list of assembly binding redirect elements.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AssemblyCodeBases">
      <summary>
            Gets a mutable list of assembly code base elements.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AssemblyCulture">
      <summary>
            Gets or sets the assembly culture, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AssemblyName">
      <summary>
            Gets or sets assembly name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AssemblyProcessorArchitecture">
      <summary>
            Gets or sets the assembly processor architecture, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.AssemblyPublicKeyToken">
      <summary>
            Gets or sets the assembly public key token, or null if none.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.ClearAssemblyBindingRedirects">
      <summary>
            Clears the list of assembly binding redirects.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.ClearAssemblyCodeBases">
      <summary>
            Clears the list of assembly codebases.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.Copy">
      <summary>
            Creates a copy of the assembly dependency information.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.RemoveAssemblyBindingRedirect(Gallio.Runtime.Hosting.HostConfiguration.AssemblyBindingRedirect)">
      <summary>
            Removes an assembly binding redirect.
            </summary>
      <param name="assemblyBindingRedirect">The assembly binding redirect to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyBindingRedirect" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyDependency.RemoveAssemblyCodeBase(Gallio.Runtime.Hosting.HostConfiguration.AssemblyCodeBase)">
      <summary>
            Removes an assembly codebase.
            </summary>
      <param name="assemblyCodeBase">The assembly codebase to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyCodeBase" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification">
      <summary>
            Describes an assembly name qualification configuration entry that
            maps an assembly partial name to its full name.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification.#ctor(System.String,System.String)">
      <summary>
            Creates an assembly name qualification.
            </summary>
      <param name="partialName">The assembly partial name to qualify.</param>
      <param name="fullName">The assembly full name to use.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="partialName" />
            or <paramref name="fullName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification.Copy">
      <summary>
            Creates a copy of the assembly qualification information.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification.FullName">
      <summary>
            Gets or sets the assembly full name to use.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostConfiguration.AssemblyQualification.PartialName">
      <summary>
            Gets or sets the assembly partial name to qualify.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostException">
      <summary>
            The type of exception thrown when hosting operations fail.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostException.#ctor">
      <summary>
            Creates an exception.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Creates an exception from serialization info.
            </summary>
      <param name="info">The serialization info.</param>
      <param name="context">The streaming context.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostException.#ctor(System.String)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostException.#ctor(System.String,System.Exception)">
      <summary>
            Creates an exception.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostServiceChannelInterop">
      <summary>
            Provides utilities to interact with a <see cref="T:Gallio.Runtime.Hosting.RemoteHostService" /> over a <see cref="T:Gallio.Common.Remoting.IClientChannel" />
            or <see cref="T:Gallio.Common.Remoting.IServerChannel" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostServiceChannelInterop.GetRemoteHostService(Gallio.Common.Remoting.IClientChannel)">
      <summary>
            Gets a remote host service using the specified channel.
            </summary>
      <param name="channel">The channel.</param>
      <returns>The remote host service.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostServiceChannelInterop.RegisterWithChannel(Gallio.Runtime.Hosting.RemoteHostService,Gallio.Common.Remoting.IServerChannel)">
      <summary>
            Registers the host service with a channel.
            </summary>
      <param name="hostService">The remote host service.</param>
      <param name="channel">The channel.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostService" /> or 
            <paramref name="channel" /> is null.</exception>
    </member>
    <member name="F:Gallio.Runtime.Hosting.HostServiceChannelInterop.ServiceName">
      <summary>
            Gets the name used to register the <see cref="T:Gallio.Runtime.Hosting.RemoteHostService" />.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostSetup">
      <summary>
            Specifies a collection of parameters for setting up a <see cref="T:Gallio.Runtime.Hosting.IHost" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.#ctor">
      <summary>
            Creates a default host setup.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.AddHintDirectory(System.String)">
      <summary>
            Adds the relative or absolute path of a hint directory if it is not already in the host setup.
            </summary>
      <param name="directory">The directory to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="directory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.AddProperty(System.String,System.String)">
      <summary>
            Adds a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <param name="value">The property value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> or <paramref name="value" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <paramref name="key" /> is already in the property set.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.ApplicationBaseDirectory">
      <summary>
            Gets or sets the relative or absolute path of the application base directory,
            or null to use a default value selected by the consumer.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.Canonicalize(System.String)">
      <summary>
            Makes all paths in this instance absolute.
            </summary>
      <param name="baseDirectory">The base directory for resolving relative paths,
            or null to use the current directory.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.ClearHintDirectories">
      <summary>
            Clears the list of hint directories.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.ClearProperties">
      <summary>
            Clears the collection of properties.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.Configuration">
      <summary>
            Gets or sets the host configuration information.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.ConfigurationFileLocation">
      <summary>
            Gets or sets where the host should write out the configuration file for the hosted components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.Copy">
      <summary>
            Creates a copy of the host setup information.
            </summary>
      <returns>The copy.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.DebuggerSetup">
      <summary>
            Gets or sets the debugger setup options, or null if not debugging.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.Elevated">
      <summary>
            Gets or sets whether the host should run with elevated privileges.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.HintDirectories">
      <summary>
            Gets the read-only list of relative or absolute paths of
            hint directories used to resolve assemblies.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.ProcessorArchitecture">
      <summary>
            Gets or sets the processor architecture that the host should target, when supported.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.Properties">
      <summary>
            Gets a read-only collection of configuration properties for the host.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.RemoveHintDirectory(System.String)">
      <summary>
            Removes a hint directory.
            </summary>
      <param name="directory">The directory to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="directory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.RemoveProperty(System.String)">
      <summary>
            Removes a property key/value pair.
            </summary>
      <param name="key">The property key.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="key" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.RuntimeVersion">
      <summary>
            Gets or sets the .Net runtime version of the host, or null to auto-detect.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.ShadowCopy">
      <summary>
            Gets or sets whether assembly shadow copying is enabled.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.HostSetup.WorkingDirectory">
      <summary>
            Gets or sets the relative or absolute path of the working directory
            or null to use a default value selected by the consumer.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostSetup.WriteTemporaryConfigurationFile">
      <summary>
            Writes a temporary configuration file for the application to disk and returns its path
            based on <see cref="P:Gallio.Runtime.Hosting.HostSetup.ConfigurationFileLocation" />.  
            </summary>
      <returns>The full path of the configuration file that was written, or null if no file was written.</returns>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="P:Gallio.Runtime.Hosting.HostSetup.ApplicationBaseDirectory" />
            is <c>null</c> but <see cref="P:Gallio.Runtime.Hosting.HostSetup.ConfigurationFileLocation" /> is <see cref="F:Gallio.Runtime.Hosting.ConfigurationFileLocation.AppBase" />.</exception>
      <exception cref="T:System.IO.IOException">Thrown if the configuration file could not be written.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.HostUtils">
      <summary>
            Provides utilities for working with hosts.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostUtils.CreateInstance``1(Gallio.Runtime.Hosting.IHost)">
      <summary>
            Creates an instance of an object within a host.
            </summary>
      <param name="host">The host in which to create the object.</param>
      <typeparam name="T">The type of object to create.</typeparam>
      <returns>The object instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="host" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.HostUtils.CreateInstance(Gallio.Runtime.Hosting.IHost,System.Type)">
      <summary>
            Creates an instance of an object within a host.
            </summary>
      <param name="host">The host in which to create the object.</param>
      <param name="type">The type of object to create.</param>
      <returns>The object instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="host" />
            or <paramref name="type" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IHost">
      <summary>
            A host represents an environment that may be used to perform various
            services in isolation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHost.Disconnect">
      <summary>
            Disconnects the host.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="E:Gallio.Runtime.Hosting.IHost.Disconnected">
      <summary>
            An event that is raised when the host is disconnected.
            If the host has already been disconnected, the event is fired immediately.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHost.GetHostService">
      <summary>
            Gets a host service that can be used to perform operations within the host's environment.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the host has been disconnected.</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHost.GetHostSetup">
      <summary>
            Gets a deep copy of the host setup information.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.IHost.IsConnected">
      <summary>
            Returns true if the host is connected.
            </summary>
      <exception cref="T:System.ObjectDisposedException">Thrown if the host has been disposed.</exception>
    </member>
    <member name="P:Gallio.Runtime.Hosting.IHost.IsLocal">
      <summary>
            Returns true if the host is local to the creating AppDomain, false if it
            must be accessed across a remote channel.  
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IHostFactory">
      <summary>
            A host factory encapsulates a policy for creating new <see cref="T:Gallio.Runtime.Hosting.IHost" /> instances.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHostFactory.CreateHost(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a host instance.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <returns>The newly created host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" /> 
            or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IHostService">
      <summary>
            A host service enables a local client to interact with a remotely
            executing hosting environment.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHostService.CreateInstance(System.String,System.String)">
      <summary>
            Creates an instance of a remote object given an assembly name and type name.
            </summary>
      <param name="assemblyName">The name of assembly that contains the type.</param>
      <param name="typeName">The full name of the type.</param>
      <returns>The object handle of the instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyName" /> or
            <paramref name="typeName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHostService.CreateInstanceFrom(System.String,System.String)">
      <summary>
            Creates an instance of a remote object given an assembly path and type name.
            </summary>
      <param name="assemblyPath">The path of assembly that contains the type.</param>
      <param name="typeName">The full name of the type.</param>
      <returns>The object handle of the instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyPath" /> or
            <paramref name="typeName" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHostService.Do``2(Gallio.Common.Func{``0,``1},``0)">
      <summary>
            Asks the host to perform the specified action remotely.
            </summary>
      <param name="func">The action to perform.</param>
      <param name="arg">The argument value, if any.</param>
      <typeparam name="TArg">The argument type.</typeparam>
      <typeparam name="TResult">The result type.</typeparam>
      <returns>The result value, if any.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="func" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IHostService.Ping">
      <summary>
            Pings the host to verify and maintain connectivity.
            </summary>
      <exception cref="T:Gallio.Runtime.Hosting.HostException">Thrown if the remote host is unreachable.</exception>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IRemoteHostService">
      <summary>
            A specialization of host service designed for hosts that are remotely managed.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IRemoteHostService.Shutdown">
      <summary>
            Remotely shuts down the host service.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IsolatedAppDomainHost">
      <summary>
            An isolated app domain host is a <see cref="T:Gallio.Runtime.Hosting.IHost" /> the runs code within an
            isolated <see cref="T:System.AppDomain" /> of this process.  Communication with the
            <see cref="T:System.AppDomain" /> occurs over an inter-<see cref="T:System.AppDomain" /> .Net
            remoting channel.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedAppDomainHost.#ctor(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger,Gallio.Runtime.Debugging.IDebuggerManager)">
      <summary>
            Creates an uninitialized host.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <param name="debuggerManager">The debugger manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" />, <paramref name="logger" />
            or <paramref name="debuggerManager" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedAppDomainHost.AcquireRemoteHostService">
      <summary>
            Connects to the remote host service.
            </summary>
      <returns>The remote host service.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedAppDomainHost.Dispose(System.Boolean)">
      <summary>
            Disposes the host.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IsolatedAppDomainHostFactory">
      <summary>
            A factory for initialized <see cref="T:Gallio.Runtime.Hosting.IsolatedAppDomainHost" /> hosts.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedAppDomainHostFactory.#ctor(Gallio.Runtime.Debugging.IDebuggerManager)">
      <summary>
            Creates a host factory.
            </summary>
      <param name="debuggerManager">A reference to the debugger manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="debuggerManager" /> is null.</exception>
    </member>
    <member name="F:Gallio.Runtime.Hosting.IsolatedAppDomainHostFactory.ComponentId">
      <summary>
            Gets the component Id of this factory.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedAppDomainHostFactory.CreateHostImpl(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates the host.
            </summary>
      <param name="hostSetup">The canonicalized host setup, non-null.</param>
      <param name="logger">The logger, non-null.</param>
      <returns>The host.</returns>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IsolatedProcessHost">
      <summary>
            An isolated process host is a <see cref="T:Gallio.Runtime.Hosting.IHost" /> that runs code within a
            new external process.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHost.#ctor(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger,System.String)">
      <summary>
            Creates an uninitialized host.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <param name="runtimePath">The runtime path where the hosting executable will be found.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" /><paramref name="logger" />, or <paramref name="runtimePath" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHost.AcquireRemoteHostService">
      <summary>
            Connects to the remote host service.
            </summary>
      <returns>The remote host service.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHost.CreateProcessTask(System.String,System.String,System.String)">
      <summary>
            Creates the process task to start the process.
            </summary>
      <param name="executablePath">The executable path.</param>
      <param name="arguments">The command-line arguments.</param>
      <param name="workingDirectory">The working directory.</param>
      <returns>The process task.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHost.Dispose(System.Boolean)">
      <summary>
            Disposes the host.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHost.PrepareConnection(System.String,System.String@,Gallio.Common.Func{Gallio.Common.Remoting.IClientChannel}@,Gallio.Common.Func{Gallio.Common.Remoting.IServerChannel}@)">
      <summary>
            Prepares the parameters for the remote connection.
            </summary>
      <param name="uniqueId">The unique id of the host.</param>
      <param name="hostConnectionArguments">Set to the host application arguments used to configure its server channel.</param>
      <param name="clientChannelFactory">Set to a factory used to create the local client channel.</param>
      <param name="callbackChannelFactory">Set to a factory used to create the local server channel to allow the remote host to call back to this one.</param>
    </member>
    <member name="T:Gallio.Runtime.Hosting.IsolatedProcessHostFactory">
      <summary>
            A factory for initialized <see cref="T:Gallio.Runtime.Hosting.IsolatedProcessHost" /> hosts.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHostFactory.#ctor(Gallio.Runtime.IRuntime)">
      <summary>
            Creates a host factory.
            </summary>
      <param name="runtime">The runtime.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="runtime" /> is null.</exception>
    </member>
    <member name="F:Gallio.Runtime.Hosting.IsolatedProcessHostFactory.ComponentId">
      <summary>
            Gets the component Id of this factory.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.IsolatedProcessHostFactory.CreateHostImpl(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates the host.
            </summary>
      <param name="hostSetup">The canonicalized host setup, non-null.</param>
      <param name="logger">The logger, non-null.</param>
      <returns>The host.</returns>
    </member>
    <member name="P:Gallio.Runtime.Hosting.IsolatedProcessHostFactory.RuntimePath">
      <summary>
            Gets the path of the runtime components, in particular the folder where Gallio.Host.exe is located.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Hosting.LocalHost">
      <summary>
            An implementation of <see cref="T:Gallio.Runtime.Hosting.IHost" /> that runs code
            locally within the current AppDomain.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.LocalHost.#ctor(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger,Gallio.Runtime.Debugging.IDebuggerManager)">
      <summary>
            Creates a local host.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <param name="debuggerManager">The debugger manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" />, <paramref name="logger" />
            or <paramref name="debuggerManager" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.LocalHost.AcquireHostService">
      <summary>
            Gets the host service.
            </summary>
      <returns>The host service, or null if the host service was not available.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.LocalHost.Dispose(System.Boolean)">
      <summary>
            Disposes the host.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="P:Gallio.Runtime.Hosting.LocalHost.IsLocal">
      <summary>
            Returns true if the host is local to the creating AppDomain, false if it
            must be accessed across a remote channel.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.LocalHost.ReleaseHostService(Gallio.Runtime.Hosting.IHostService)">
      <summary>
            Releases the host service.
            </summary>
      <param name="hostService">The host service that is being released, not null.</param>
    </member>
    <member name="T:Gallio.Runtime.Hosting.LocalHostFactory">
      <summary>
            A factory for initialized <see cref="T:Gallio.Runtime.Hosting.LocalHost" /> hosts.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.LocalHostFactory.#ctor(Gallio.Runtime.Debugging.IDebuggerManager)">
      <summary>
            Creates a host factory.
            </summary>
      <param name="debuggerManager">A reference to the debugger manager.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="debuggerManager" /> is null.</exception>
    </member>
    <member name="F:Gallio.Runtime.Hosting.LocalHostFactory.ComponentId">
      <summary>
            Gets the component Id of this factory.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.LocalHostFactory.CreateHostImpl(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates the host.
            </summary>
      <param name="hostSetup">The canonicalized host setup, non-null.</param>
      <param name="logger">The logger, non-null.</param>
      <returns>The host.</returns>
    </member>
    <member name="T:Gallio.Runtime.Hosting.RemoteHost">
      <summary>
            An implementation of <see cref="T:Gallio.Runtime.Hosting.IHost" /> that communicates with a 
            <see cref="T:Gallio.Runtime.Hosting.RemoteHostService" /> that resides in a different context
            using .Net remoting.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHost.#ctor(Gallio.Runtime.Hosting.HostSetup,Gallio.Runtime.Logging.ILogger,System.Nullable{System.TimeSpan})">
      <summary>
            Creates an uninitialized host.
            </summary>
      <param name="hostSetup">The host setup.</param>
      <param name="logger">The logger for host message output.</param>
      <param name="pingInterval">The automatic ping interval, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hostSetup" />
            or <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHost.AcquireHostService">
      <summary>
            Gets the host service.
            </summary>
      <returns>The host service, or null if the host service was not available.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHost.AcquireRemoteHostService">
      <summary>
            Connects to the remote host service.
            </summary>
      <returns>The remote host service.</returns>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHost.Dispose(System.Boolean)">
      <summary>
            Disposes the host.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="P:Gallio.Runtime.Hosting.RemoteHost.IsLocal">
      <summary>
            Returns true if the host is local to the creating AppDomain, false if it
            must be accessed across a remote channel.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHost.ReleaseHostService(Gallio.Runtime.Hosting.IHostService)">
      <summary>
            Releases the host service.
            </summary>
      <param name="hostService">The host service that is being released, not null.</param>
    </member>
    <member name="T:Gallio.Runtime.Hosting.RemoteHostService">
      <summary>
            A remotely accessible host service.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHostService.#ctor(System.Nullable{System.TimeSpan})">
      <summary>
            Creates a host service.
            </summary>
      <param name="watchdogTimeout">The maximum amount of time to wait for a ping
            before automatically disposing the host service, or null if there should be no timeout.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHostService.Dispose(System.Boolean)">
      <summary>
            Disposes the host service.
            </summary>
      <param name="disposing">True if disposing.</param>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHostService.PingImpl">
      <summary>
            Internal implementation of <see cref="M:Gallio.Runtime.Hosting.BaseHostService.Ping" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHostService.Shutdown">
      <summary>
            Remotely shuts down the host service.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Hosting.RemoteHostService.WaitUntilShutdown">
      <summary>
            Waits until the host service is shutdown or a ping timeout occurs.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Hosting.RemoteHostService.WatchdogTimerExpired">
      <summary>
            Returns true if the watchdog timer expired.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Installer.BaseInstaller">
      <summary>
            Abstract base class for installers.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.BaseInstaller.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Installer.BaseInstaller" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.BaseInstaller.Install(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Installs components.
            </summary>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.Installer.BaseInstaller.Uninstall(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Uninstalls components.
            </summary>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="T:Gallio.Runtime.Installer.DefaultInstallerManager">
      <summary>
            The default installer manager implementation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.DefaultInstallerManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Runtime.Installer.IInstaller,Gallio.Runtime.Installer.InstallerTraits}[],Gallio.Runtime.Security.IElevationManager)">
      <summary>
            Creates the installer manager.
            </summary>
      <param name="installerHandles">The installer handles, not null.</param>
      <param name="elevationManager">The elevation manager, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.Installer.DefaultInstallerManager.Install(System.Collections.Generic.IList{System.String},Gallio.Runtime.Security.IElevationContext,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Installs components.
            </summary>
      <param name="installerIds">The ids of the specific installers to include, or null to include all.</param>
      <param name="elevationContext">A privilege elevation context, or null if the installer manager should obtain its own when needed.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>True on success, false if the user canceled the operation.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Installer.DefaultInstallerManager.Uninstall(System.Collections.Generic.IList{System.String},Gallio.Runtime.Security.IElevationContext,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Uninstalls components.
            </summary>
      <param name="installerIds">The ids of the specific installers to include, or null to include all.</param>
      <param name="elevationContext">A privilege elevation context, or null if the installer manager should obtain its own when needed.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>True on success, false if the user canceled the operation.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Installer.IInstaller">
      <summary>
            Installs or uninstalls components on the local machine.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.IInstaller.Install(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Installs components.
            </summary>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.Installer.IInstaller.Uninstall(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Uninstalls components.
            </summary>
      <param name="progressMonitor">The progress monitor, not null.</param>
    </member>
    <member name="T:Gallio.Runtime.Installer.IInstallerManager">
      <summary>
            Performs installation tasks and manages the set of registered <see cref="T:Gallio.Runtime.Installer.IInstaller" /> components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.IInstallerManager.Install(System.Collections.Generic.IList{System.String},Gallio.Runtime.Security.IElevationContext,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Installs components.
            </summary>
      <param name="installerIds">The ids of the specific installers to include, or null to include all.</param>
      <param name="elevationContext">A privilege elevation context, or null if the installer manager should obtain its own when needed.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>True on success, false if the user canceled the operation.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Installer.IInstallerManager.Uninstall(System.Collections.Generic.IList{System.String},Gallio.Runtime.Security.IElevationContext,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Uninstalls components.
            </summary>
      <param name="installerIds">The ids of the specific installers to include, or null to include all.</param>
      <param name="elevationContext">A privilege elevation context, or null if the installer manager should obtain its own when needed.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>True on success, false if the user canceled the operation.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Installer.InstallerElevatedCommand">
      <summary>
            An elevated command used for installation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.InstallerElevatedCommand.#ctor(Gallio.Runtime.Installer.IInstallerManager)">
      <summary>
            Initializes the command.
            </summary>
      <param name="installerManager">The installer manager, not null.</param>
    </member>
    <member name="F:Gallio.Runtime.Installer.InstallerElevatedCommand.ElevatedCommandId">
      <summary>
            The id of this elevated command.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.InstallerElevatedCommand.Execute(Gallio.Runtime.Installer.InstallerElevatedCommand.Arguments,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Executes the command.
            </summary>
      <param name="arguments">The command arguments.</param>
      <param name="progressMonitor">The progress monitor, non-null.</param>
      <returns>The command result, must be null or serializable.</returns>
    </member>
    <member name="T:Gallio.Runtime.Installer.InstallerElevatedCommand.Arguments">
      <summary>
            Arguments for the command.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.InstallerElevatedCommand.Arguments.#ctor(System.String,Gallio.Runtime.Installer.InstallerOperation)">
      <summary>
            Creates the arguments.
            </summary>
      <param name="installerId">The installer id.</param>
      <param name="installerOperation">The requested installer operation.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="installerId" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Installer.InstallerElevatedCommand.Arguments.InstallerId">
      <summary>
            Gets the installer id.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Installer.InstallerElevatedCommand.Arguments.InstallerOperation">
      <summary>
            Gets the requested installer operation.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Installer.InstallerOperation">
      <summary>
            Specifies the installer operation.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Installer.InstallerOperation.Install">
      <summary>
            Runs the install.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Installer.InstallerOperation.Uninstall">
      <summary>
            Runs the uninstall.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Installer.InstallerTraits">
      <summary>
            Traits for <see cref="T:Gallio.Runtime.Installer.IInstaller" /> components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.InstallerTraits.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Installer.InstallerTraits" /> class</summary>
    </member>
    <member name="P:Gallio.Runtime.Installer.InstallerTraits.RequiresElevation">
      <summary>
            Gets or sets whether an installer requires privilege elevation (admin access)
            to run.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Installer.SetupUtilityCommand">
      <summary>
            Installs or uninstalls components using the <see cref="T:Gallio.Runtime.Installer.IInstallerManager" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.SetupUtilityCommand.#ctor(Gallio.Runtime.Installer.IInstallerManager)">
      <summary>
            Creates the command.
            </summary>
      <param name="installerManager">The installer manager, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.Installer.SetupUtilityCommand.Execute(Gallio.Runtime.UtilityCommands.UtilityCommandContext,Gallio.Runtime.Installer.SetupUtilityCommand.Arguments)">
      <summary>
            Executes the command.
            </summary>
      <param name="context">The command execution context, not null.</param>
      <param name="arguments">The typed command arguments, not null.</param>
      <returns>The command exit code, zero for success, non-zero for errors.</returns>
    </member>
    <member name="M:Gallio.Runtime.Installer.SetupUtilityCommand.ValidateArguments(Gallio.Runtime.Installer.SetupUtilityCommand.Arguments,Gallio.Runtime.ConsoleSupport.CommandLineErrorReporter)">
      <summary>
            Validates the command arguments.
            </summary>
      <param name="arguments">The arguments object, not null.</param>
      <param name="errorReporter">The error reporter, not null.</param>
      <returns>True if the arguments are valid.</returns>
    </member>
    <member name="T:Gallio.Runtime.Installer.SetupUtilityCommand.Arguments">
      <summary>
            The arguments for the command.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Installer.SetupUtilityCommand.Arguments.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Installer.SetupUtilityCommand.Arguments" /> class</summary>
    </member>
    <member name="F:Gallio.Runtime.Installer.SetupUtilityCommand.Arguments.Install">
      <summary>
            When set to true, installs components.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Installer.SetupUtilityCommand.Arguments.InstallerIds">
      <summary>
            The ids of installers to include.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Installer.SetupUtilityCommand.Arguments.Uninstall">
      <summary>
            When set to true, uninstalls components.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Loader.AssemblyLoaderBootstrap">
      <summary>
            Bootstraps a globally reachable assembly loader within the Gallio installation path.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Loader.AssemblyLoaderBootstrap.AssemblyLoader">
      <summary>
            Gets the bootstrapped assembly loader.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the bootstrap assembly loader has not been initialized.</exception>
    </member>
    <member name="M:Gallio.Runtime.Loader.AssemblyLoaderBootstrap.Install(System.String)">
      <summary>
            Installs a global assembly resolver given the specified runtime path.
            </summary>
      <param name="runtimePath">The Gallio runtime path.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="runtimePath" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Loader.DefaultAssemblyLoader">
      <summary>
            Resolves assemblies using hint paths and custom resolvers.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Loader.DefaultAssemblyLoader.#ctor">
      <summary>
            Initializes the assembly resolver manager.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Loader.DefaultAssemblyLoader.AddAssemblyResolver(Gallio.Runtime.Loader.IAssemblyResolver)">
      <summary>
            Adds a custom assembly resolver to use when standard assembly resolution fails.
            </summary>
      <param name="assemblyResolver">The assembly resolver.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyResolver" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Loader.DefaultAssemblyLoader.AddHintDirectory(System.String)">
      <summary>
            Adds an assembly load hint directory to search when standard assembly
            resolution fails.
            </summary>
      <param name="hintDirectory">The hint directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hintDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Loader.DefaultAssemblyLoader.Dispose">
      <summary>
                    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
                </summary>
    </member>
    <member name="M:Gallio.Runtime.Loader.DefaultAssemblyLoader.LoadAssemblyFrom(System.String)">
      <summary>
            Loads an assembly from the specified file.
            </summary>
      <param name="assemblyFile">The assembly file.</param>
      <returns>The loaded assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if the <paramref name="assemblyFile" /> is null.</exception>
      <exception cref="T:System.Exception">Thrown if the assembly could not be loaded.</exception>
    </member>
    <member name="T:Gallio.Runtime.Loader.GallioLoaderLocator">
      <summary>
            Locates Gallio.Loader.dll.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Loader.GallioLoaderLocator.GetGallioLoaderAssemblyPath">
      <summary>
            Gets the path of the Gallio.Loader assembly (unless it is in the GAC) so that it
            can be loaded by external code using <see cref="M:System.Reflection.Assembly.LoadFrom(System.String)" />.
            </summary>
      <returns>The path of Gallio.Loader.dll, or null if Gallio.Loader.dll is
            installed in the GAC.</returns>
      <exception cref="T:Gallio.Runtime.RuntimeException">Thrown if the Gallio.Loader assembly is not available.</exception>
    </member>
    <member name="T:Gallio.Runtime.Loader.IAssemblyLoader">
      <summary>
            Provides support for resolving and loading assemblies using hint paths and custom resolvers.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Loader.IAssemblyLoader.AddAssemblyResolver(Gallio.Runtime.Loader.IAssemblyResolver)">
      <summary>
            Adds a custom assembly resolver to use when standard assembly resolution fails.
            </summary>
      <param name="assemblyResolver">The assembly resolver.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="assemblyResolver" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Loader.IAssemblyLoader.AddHintDirectory(System.String)">
      <summary>
            Adds an assembly load hint directory to search when standard assembly
            resolution fails.
            </summary>
      <param name="hintDirectory">The hint directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="hintDirectory" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Loader.IAssemblyLoader.LoadAssemblyFrom(System.String)">
      <summary>
            Loads an assembly from the specified file.
            </summary>
      <param name="assemblyFile">The assembly file.</param>
      <returns>The loaded assembly.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if the <paramref name="assemblyFile" /> is null.</exception>
      <exception cref="T:System.Exception">Thrown if the assembly could not be loaded.</exception>
    </member>
    <member name="T:Gallio.Runtime.Loader.IAssemblyResolver">
      <summary>
            A custom assembly resolver participates in assembly resolution when
            standard assembly resolution fails to load the desired assembly
            but before assembly load paths are considered.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Loader.IAssemblyResolver.Resolve(System.String,System.Boolean)">
      <summary>
            Resolves the assembly with the specified name.
            </summary>
      <param name="assemblyName">The full name of the assembly as was provided
            to <see cref="M:System.Reflection.Assembly.Load(System.String)" />.</param>
      <param name="reflectionOnly">True if the assembly is to be resolved in the
            reflection-only context.</param>
      <returns>The assembly, or null if it could not be resolved.</returns>
    </member>
    <member name="T:Gallio.Runtime.Logging.BaseLogger">
      <summary>
            Base implementation of <see cref="T:Gallio.Runtime.Logging.ILogger" /> that performs argument validation
            and supports convenience methods.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.BaseLogger.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Logging.BaseLogger" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.BaseLogger.Log(Gallio.Runtime.Logging.LogSeverity,System.String)">
      <summary>
            Logs a message.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BaseLogger.Log(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BaseLogger.Log(Gallio.Runtime.Logging.LogSeverity,System.String,System.Exception)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message.</param>
      <param name="exception">The associated exception, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BaseLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="T:Gallio.Runtime.Logging.BufferedLogWriter">
      <summary>
            A buffered log writer is an adapter for <see cref="T:System.IO.TextWriter" /> that writes
            long full lines to a <see cref="T:Gallio.Runtime.Logging.ILogger" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.#ctor(Gallio.Runtime.Logging.ILogger,Gallio.Runtime.Logging.LogSeverity)">
      <summary>
            Creates a buffered log writer that reports a <see cref="P:System.Text.Encoding.Unicode" /> encoding.
            </summary>
      <param name="logger">The logger to which messages are written.</param>
      <param name="logSeverity">The log severity for messages.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.#ctor(Gallio.Runtime.Logging.ILogger,Gallio.Runtime.Logging.LogSeverity,System.Text.Encoding)">
      <summary>
            Creates a buffered log writer that reports a particular encoding.
            </summary>
      <param name="logger">The logger to which messages are written.</param>
      <param name="logSeverity">The log severity for messages.</param>
      <param name="encoding">The encoding to report.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> 
            or <paramref name="encoding" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.Dispose(System.Boolean)">
      <summary>
                    Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter" /> and optionally releases the managed resources.
                </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources. 
                </param>
    </member>
    <member name="P:Gallio.Runtime.Logging.BufferedLogWriter.Encoding">
      <summary>
                    When overridden in a derived class, returns the <see cref="T:System.Text.Encoding" /> in which the output is written.
                </summary>
      <returns>
                    The Encoding in which the output is written.
                </returns>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.Flush">
      <summary>
                    Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
                </summary>
    </member>
    <member name="P:Gallio.Runtime.Logging.BufferedLogWriter.NewLine">
      <summary>
                    Gets or sets the line terminator string used by the current TextWriter.
                </summary>
      <returns>
                    The line terminator string for the current TextWriter.
                </returns>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.Write(System.Char[],System.Int32,System.Int32)">
      <summary>
                    Writes a subarray of characters to the text stream.
                </summary>
      <param name="buffer">
                    The character array to write data from. 
                </param>
      <param name="index">
                    Starting index in the buffer. 
                </param>
      <param name="count">
                    The number of characters to write. 
                </param>
      <exception cref="T:System.ArgumentException">
                    The buffer length minus <paramref name="index" /> is less than <paramref name="count" />. 
                </exception>
      <exception cref="T:System.ArgumentNullException">
                    The <paramref name="buffer" /> parameter is null. 
                </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> or <paramref name="count" /> is negative. 
                </exception>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.Write(System.String)">
      <summary>
                    Writes a string to the text stream.
                </summary>
      <param name="value">
                    The string to write. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.BufferedLogWriter.WriteLine(System.Object)">
      <summary>
                    Writes the text representation of an object by calling ToString on this object, followed by a line terminator to the text stream.
                </summary>
      <param name="value">
                    The object to write. If <paramref name="value" /> is null, only the line termination characters are written. 
                </param>
      <exception cref="T:System.ObjectDisposedException">
                    The <see cref="T:System.IO.TextWriter" /> is closed. 
                </exception>
      <exception cref="T:System.IO.IOException">
                    An I/O error occurs. 
                </exception>
    </member>
    <member name="T:Gallio.Runtime.Logging.DispatchLogger">
      <summary>
            A logger that dispatches log messages via events and listeners.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.DispatchLogger.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Logging.DispatchLogger" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.DispatchLogger.AddLogListener(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Adds a log listener that will receive log messages dispatched to the runtime logger.
            </summary>
      <param name="logger">The log listener to add.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.DispatchLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="E:Gallio.Runtime.Logging.DispatchLogger.LogMessage">
      <summary>
            An event that is fired when a log message is received.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.DispatchLogger.RemoveLogListener(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Removes a log listener so that it will no longer receive log messages dispatched to the runtime logger.
            </summary>
      <param name="logger">The log listener to remove.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Logging.FilteredLogger">
      <summary>
            Filters another logger to exclude messages below a given level of severity.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.FilteredLogger.#ctor(Gallio.Runtime.Logging.ILogger,Gallio.Runtime.Logging.LogSeverity)">
      <summary>
            Creates a filtered logger.
            </summary>
      <param name="logger">The logger to which filtered log messages are sent.</param>
      <param name="minSeverity">The lowest severity message type to retain.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.FilteredLogger.#ctor(Gallio.Runtime.Logging.ILogger,Gallio.Runtime.Logging.Verbosity)">
      <summary>
            Creates a filtered logger.
            </summary>
      <param name="logger">The logger to which filtered log messages are sent.</param>
      <param name="verbosity">The verbosity to use.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.FilteredLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="P:Gallio.Runtime.Logging.FilteredLogger.MinSeverity">
      <summary>
            Gets the minimum severity of the messages that are included in the filtered log.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Logging.ILogger">
      <summary>
            Provides support for logging messages from system components.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.ILogger.Log(Gallio.Runtime.Logging.LogSeverity,System.String)">
      <summary>
            Logs a message.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.ILogger.Log(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.ILogger.Log(Gallio.Runtime.Logging.LogSeverity,System.String,System.Exception)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message.</param>
      <param name="exception">The associated exception, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Logging.LogEntrySubmittedEventArgs">
      <summary>
            Event arguments for the <see cref="T:Gallio.Runtime.Logging.DispatchLogger" /></summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.LogEntrySubmittedEventArgs.#ctor(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Creates a log event.
            </summary>
      <param name="severity">The log severity.</param>
      <param name="message">The log message.</param>
      <param name="exceptionData">The exception data, or null if none.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Logging.LogEntrySubmittedEventArgs.ExceptionData">
      <summary>
            Gets the exception, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Logging.LogEntrySubmittedEventArgs.Message">
      <summary>
            Gets the log message.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Logging.LogEntrySubmittedEventArgs.Severity">
      <summary>
            Gets the log severity.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Logging.LogSeverity">
      <summary>
            Describes the severity of a log message.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.LogSeverity.Debug">
      <summary>
            The severity used for debug messages.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.LogSeverity.Info">
      <summary>
            The severity used for informational messages.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.LogSeverity.Important">
      <summary>
            The severity used for important messages.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.LogSeverity.Warning">
      <summary>
            The severity used for warning messages.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.LogSeverity.Error">
      <summary>
            The severity used for error messages.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Logging.MarkupStreamLogger">
      <summary>
            A <see cref="T:Gallio.Runtime.Logging.ILogger" /> implementation that logs messages to the specified <see cref="T:Gallio.Common.Markup.MarkupStreamWriter" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.MarkupStreamLogger.#ctor(Gallio.Common.Markup.MarkupStreamWriter)">
      <summary>
            Creates a logger for the markup stream writer.
            </summary>
      <param name="writer">The markup stream writer.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Logging.NullLogger">
      <summary>
            A null implementation of <see cref="T:Gallio.Runtime.Logging.ILogger" /> that does nothing.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.NullLogger.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Logging.NullLogger" /> class</summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.NullLogger.Instance">
      <summary>
            Gets a singleton instance of the null logger.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Logging.RemoteLogger">
      <summary>
            Wraps a logger so that it can be accessed remotely.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.RemoteLogger.#ctor(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a wrapper for the specified logger.
            </summary>
      <param name="logger">The logger.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.RemoteLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="T:Gallio.Runtime.Logging.SeverityPrefixLogger">
      <summary>
            The severity prefix logger wraps another loggers and encodes the severity of a
            log entry into the log message itself in a standard form.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.SeverityPrefixLogger.#ctor(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a prefix logger.
            </summary>
      <param name="inner">The inner logger.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="inner" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Logging.SeverityPrefixLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="T:Gallio.Runtime.Logging.SeverityPrefixParser">
      <summary>
            Parses severity information from log messages encoded by <see cref="T:Gallio.Runtime.Logging.SeverityPrefixLogger" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.SeverityPrefixParser.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Logging.SeverityPrefixParser" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.SeverityPrefixParser.ParseLine(System.String,Gallio.Runtime.Logging.LogSeverity@,System.String@)">
      <summary>
            Parses a line of log data.
            </summary>
      <param name="line">The line of log data to parse.</param>
      <param name="severity">Set to the severity of the message extracted from the line.</param>
      <param name="message">The message extracted from the line.</param>
      <returns>True if the message included a severity, false otherwise.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="line" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Logging.TextLogger">
      <summary>
            A logger that writes output to a <see cref="T:System.IO.TextWriter" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Logging.TextLogger.#ctor(System.IO.TextWriter)">
      <summary>
            Creates a text logger.
            </summary>
      <param name="textWriter">The text writer to which the log output should be written.</param>
    </member>
    <member name="M:Gallio.Runtime.Logging.TextLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
      <summary>
            Logs a message with an associated exception.
            </summary>
      <param name="severity">The log message severity.</param>
      <param name="message">The log message, not null.</param>
      <param name="exceptionData">The associated exception data, or null if none.</param>
    </member>
    <member name="T:Gallio.Runtime.Logging.Verbosity">
      <summary>
            Specifies the verbosity of the output.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.Verbosity.Quiet">
      <summary>
             Will only display Error and Warning messages.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.Verbosity.Normal">
      <summary>
            Will display Important, Warning and Error messages.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.Verbosity.Verbose">
      <summary>
            Will display all messages, except Debug.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.Logging.Verbosity.Debug">
      <summary>
            Will display all messages.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Preferences.FilePreferenceManager">
      <summary>
            An implementation of <see cref="T:Gallio.Runtime.Preferences.IPreferenceManager" /> based on files.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceManager.#ctor">
      <summary>
            Initializes the preference manager.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.FilePreferenceManager.CommonPreferences">
      <summary>
            Gets a preference store common to all users of this system.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.FilePreferenceManager.LocalUserPreferences">
      <summary>
            Gets a preference store for the current local user.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.FilePreferenceManager.RoamingUserPreferences">
      <summary>
            Gets a preference store for the current roaming user.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Preferences.FilePreferenceSet">
      <summary>
            A preference set implementation based on storing preference settings within a file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceSet.#ctor(System.IO.FileInfo)">
      <summary>
            Creates a file preference set.
            </summary>
      <param name="preferenceSetFile">The preference set file.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="preferenceSetFile" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Preferences.FilePreferenceSet.PreferenceSetFile">
      <summary>
            Gets the preference set file.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceSet.Read(Gallio.Common.Concurrency.ReadAction{Gallio.Runtime.Preferences.IPreferenceSetReader})">
      <summary>
            Obtains a reader for the preference set.
            </summary>
      <param name="readAction">The read action which is provided with the reader.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="readAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceSet.Read``1(Gallio.Common.Concurrency.ReadFunc{Gallio.Runtime.Preferences.IPreferenceSetReader,``0})"></member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceSet.Write(Gallio.Common.Concurrency.WriteAction{Gallio.Runtime.Preferences.IPreferenceSetWriter})">
      <summary>
            Obtains a writer for the preference set.
            </summary>
      <param name="writeAction">The write action which is provided with the reader.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writeAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceSet.Write``1(Gallio.Common.Concurrency.WriteFunc{Gallio.Runtime.Preferences.IPreferenceSetWriter,``0})"></member>
    <member name="T:Gallio.Runtime.Preferences.FilePreferenceStore">
      <summary>
            A preference store implementation based on storing preference sets as files within a directory.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.FilePreferenceStore.#ctor(System.IO.DirectoryInfo)">
      <summary>
            Creates a file preference store.
            </summary>
      <param name="preferenceStoreDir">The preference store directory.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="preferenceStoreDir" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Preferences.FilePreferenceStore.Item(System.String)">
      <summary>
            Gets the preference set with the specified name.
            </summary>
      <param name="preferenceSetName">The name of the preference set.</param>
      <returns>The preference set.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="preferenceSetName" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="preferenceSetName" /> is empty.</exception>
    </member>
    <member name="P:Gallio.Runtime.Preferences.FilePreferenceStore.PreferenceStoreDir">
      <summary>
            Gets the preference store directory.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Preferences.IPreferenceManager">
      <summary>
            Stores and retrieves user and machine preferences.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.IPreferenceManager.CommonPreferences">
      <summary>
            Gets a preference store common to all users of this system.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.IPreferenceManager.LocalUserPreferences">
      <summary>
            Gets a preference store for the current local user.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.IPreferenceManager.RoamingUserPreferences">
      <summary>
            Gets a preference store for the current roaming user.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.Preferences.IPreferenceSet">
      <summary>
            Represents a set of related preference settings.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSet.Read(Gallio.Common.Concurrency.ReadAction{Gallio.Runtime.Preferences.IPreferenceSetReader})">
      <summary>
            Obtains a reader for the preference set.
            </summary>
      <param name="readAction">The read action which is provided with the reader.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="readAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSet.Read``1(Gallio.Common.Concurrency.ReadFunc{Gallio.Runtime.Preferences.IPreferenceSetReader,``0})">
      <summary>
            Obtains a reader for the preference set.
            </summary>
      <param name="readFunc">The read function which is provided with the reader.</param>
      <typeparam name="TResult">The read function result type.</typeparam>
      <returns>The result of the read function.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="readFunc" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSet.Write(Gallio.Common.Concurrency.WriteAction{Gallio.Runtime.Preferences.IPreferenceSetWriter})">
      <summary>
            Obtains a writer for the preference set.
            </summary>
      <param name="writeAction">The write action which is provided with the reader.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writeAction" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSet.Write``1(Gallio.Common.Concurrency.WriteFunc{Gallio.Runtime.Preferences.IPreferenceSetWriter,``0})">
      <summary>
            Obtains a writer for the preference set.
            </summary>
      <param name="writeFunc">The write function which is provided with the reader.</param>
      <typeparam name="TResult">The write function result type.</typeparam>
      <returns>The result of the write function.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writeFunc" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Preferences.IPreferenceSetReader">
      <summary>
            Provides operations for reading preference settings within preference sets.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSetReader.GetSetting``1(Gallio.Common.Collections.Key{``0})">
      <summary>
            Gets a preference setting.
            </summary>
      <param name="preferenceSettingKey">The preference setting key.</param>
      <typeparam name="T">The setting value type.</typeparam>
      <returns>The setting value or <c>default(T)</c> if none.</returns>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSetReader.GetSetting``1(Gallio.Common.Collections.Key{``0},``0)">
      <summary>
            Gets a preference setting.
            </summary>
      <param name="preferenceSettingKey">The preference setting key.</param>
      <param name="defaultValue">The default value to return in case the setting does not exist.</param>
      <typeparam name="T">The setting value type.</typeparam>
      <returns>The setting value or <paramref name="defaultValue" /> if none.</returns>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSetReader.HasSetting``1(Gallio.Common.Collections.Key{``0})">
      <summary>
            Returns true if the preference set contains a preference setting.
            </summary>
      <param name="preferenceSettingKey">The preference setting key.</param>
      <returns>True setting exists.</returns>
    </member>
    <member name="T:Gallio.Runtime.Preferences.IPreferenceSetWriter">
      <summary>
            Provides operations for writing preference settings.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSetWriter.RemoveSetting``1(Gallio.Common.Collections.Key{``0})">
      <summary>
            Removes a preference setting.
            </summary>
      <param name="preferenceSettingKey">The preference setting key.</param>
    </member>
    <member name="M:Gallio.Runtime.Preferences.IPreferenceSetWriter.SetSetting``1(Gallio.Common.Collections.Key{``0},``0)">
      <summary>
            Sets a preference setting.
            </summary>
      <param name="preferenceSettingKey">The preference setting key.</param>
      <param name="value">The value to set, or null to remove the value.</param>
      <typeparam name="T">The setting value type.</typeparam>
    </member>
    <member name="T:Gallio.Runtime.Preferences.IPreferenceStore">
      <summary>
            Stores and retrieves the contents of preference sets.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.IPreferenceStore.Item(System.String)">
      <summary>
            Gets the preference set with the specified name.
            </summary>
      <param name="preferenceSetName">The name of the preference set.</param>
      <returns>The preference set.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="preferenceSetName" /> is null.</exception>
      <exception cref="T:System.ArgumentException">Thrown if <paramref name="preferenceSetName" /> is empty.</exception>
    </member>
    <member name="T:Gallio.Runtime.Preferences.Schema.PreferenceContainer">
      <summary>
            Represents a collection of preferences in Xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.Schema.PreferenceContainer.#ctor">
      <summary>
            Creates a preference container.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Preferences.Schema.PreferenceContainer.Settings">
      <summary>
            Gets the mutable list of preference settings.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.Schema.PreferenceContainer.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="T:Gallio.Runtime.Preferences.Schema.PreferenceSetting">
      <summary>
            Represents a preference setting in Xml.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Preferences.Schema.PreferenceSetting.#ctor(System.String,System.String)">
      <summary>
            Creates a preference setting.
            </summary>
      <param name="name">The setting name.</param>
      <param name="value">The setting value.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" />
            or <paramref name="value" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.Preferences.Schema.PreferenceSetting.Name">
      <summary>
            Gets or sets the preference setting name.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.Preferences.Schema.PreferenceSetting.Validate">
      <summary>
            Validates the object.
            </summary>
      <exception cref="T:Gallio.Common.Validation.ValidationException">Thrown if the data is not well-formed.</exception>
    </member>
    <member name="P:Gallio.Runtime.Preferences.Schema.PreferenceSetting.Value">
      <summary>
            Gets or sets the preference setting value.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorPresenter">
      <summary>
            Abstract base class for objects whose purpose is to present progress
            information to the user.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorPresenter.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorPresenter" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorPresenter.Initialize">
      <summary>
            Initializes the presenter after a progress monitor has been attached.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorPresenter.Present(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Presents an observable progress monitor.
            </summary>
      <param name="progressMonitor">The progress monitor to present.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the presenter does not support being
            reused to present multiple progress monitors.</exception>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorPresenter.ProgressMonitor">
      <summary>
            Gets the attached progress monitor.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorProvider">
      <summary>
            An abstract base class to assist with the implementation of conformant
            <see cref="T:Gallio.Runtime.ProgressMonitoring.IProgressMonitorProvider" /> classes.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorProvider.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorProvider" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorProvider.GetPresenter">
      <summary>
            Gets a presenter for the progress monitor.
            </summary>
      <returns>The presenter.</returns>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.BaseProgressMonitorProvider.Run(Gallio.Runtime.ProgressMonitoring.TaskWithProgress)">
      <summary>
            Runs a task with a progress monitor.
            </summary>
      <param name="task">The task to run, never null.</param>
      <exception cref="T:System.OperationCanceledException">Thrown if the task is canceled.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor">
      <summary>
            An abstract base class for progress monitors that implements the cancelation
            semantics only.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.BeginTask(System.String,System.Double)">
      <summary>
            Notifies that the main task is starting.
            </summary>
      <param name="taskName">The name of the task being monitored.</param>
      <param name="totalWorkUnits">The total number of work units to perform.  Must
            be greater than 0, or <see cref="F:System.Double.NaN" /> if an indeterminate amount
            of work is to be performed.</param>
      <returns>An object that calls <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> when disposed.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="taskName" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="totalWorkUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.BeginTask(System.String,System.Double)" /> or <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> have already been called.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Cancel">
      <summary>
            Notifies that the operation is to be canceled.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Canceled">
      <summary>
            Adds or removes an event handler to be called when the operation is canceled.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.CreateSubProgressMonitor(System.Double)">
      <summary>
            Creates a sub-progress monitor that represents a given number of
            work-units as a sub-task of this progress monitor.
            </summary>
      <param name="parentWorkUnits">The total number of work units of the parent task
            that are to be represented by the sub-task.  When the sub-task completes, this much
            work will have been performed on the parent.
            Must be a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="parentWorkUnits" /> is not valid.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Dispose">
      <summary>
            Disposes the progress monitor, including cleaning up an marking as <see cref="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Done" />
            the current task, if any.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Dispose(System.Boolean)">
      <summary>
            Disposes the progress monitor, including cleaning up an marking as <see cref="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Done" />
            the current task, if any.
            </summary>
      <param name="disposing">True if <see cref="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Dispose" /> was called.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Done">
      <summary>
            Notifies that the work is done, either the main task is completed
            was cancelled by the user. If already done, the method has no effect.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.IsCanceled">
      <summary>
            Returns true if the operation has been canceled.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.NotifyCanceled">
      <summary>
            Notifies that the task has actually been canceled.
            </summary>
      <returns>True if cancelation has just occurred, false if no
            state change was performed.</returns>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.OnCancel">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Cancel" /> performs its updates.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.SetStatus(System.String)">
      <summary>
            Sets detailed status information for the current task or subtask.
            </summary>
      <param name="status">The name of the current subtask.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="status" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.ThrowIfCanceled">
      <summary>
            Throws an <see cref="T:System.OperationCanceledException" /> if the operation
            has been canceled.
            </summary>
      <exception cref="T:System.OperationCanceledException">Thrown if <see cref="P:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.IsCanceled" /> is true.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Worked(System.Double)">
      <summary>
            Notifies that a given number of work units of the main task
            have been completed.
            </summary>
      <param name="workUnits">The number of work units completed so far.  Must be
            a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="workUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.IProgressMonitor">
      <summary>
            A progress monitor provides facilities for core functionality to report
            progress of a long running operation.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.BeginTask(System.String,System.Double)">
      <summary>
            Notifies that the main task is starting.
            </summary>
      <param name="taskName">The name of the task being monitored.</param>
      <param name="totalWorkUnits">The total number of work units to perform.  Must
            be greater than 0, or <see cref="F:System.Double.NaN" /> if an indeterminate amount
            of work is to be performed.</param>
      <returns>An object that calls <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> when disposed.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="taskName" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="totalWorkUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.BeginTask(System.String,System.Double)" /> or <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> have already been called.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Cancel">
      <summary>
            Notifies that the operation is to be canceled.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Canceled">
      <summary>
            Adds or removes an event handler to be called when the operation is canceled.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.CreateSubProgressMonitor(System.Double)">
      <summary>
            Creates a sub-progress monitor that represents a given number of
            work-units as a sub-task of this progress monitor.
            </summary>
      <param name="parentWorkUnits">The total number of work units of the parent task
            that are to be represented by the sub-task.  When the sub-task completes, this much
            work will have been performed on the parent.
            Must be a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="parentWorkUnits" /> is not valid.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done">
      <summary>
            Notifies that the work is done, either the main task is completed
            was cancelled by the user. If already done, the method has no effect.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.IsCanceled">
      <summary>
            Returns true if the operation has been canceled.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.SetStatus(System.String)">
      <summary>
            Sets detailed status information for the current task or subtask.
            </summary>
      <param name="status">The name of the current subtask.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="status" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.ThrowIfCanceled">
      <summary>
            Throws an <see cref="T:System.OperationCanceledException" /> if the operation
            has been canceled.
            </summary>
      <exception cref="T:System.OperationCanceledException">Thrown if <see cref="P:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.IsCanceled" /> is true.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Worked(System.Double)">
      <summary>
            Notifies that a given number of work units of the main task
            have been completed.
            </summary>
      <param name="workUnits">The number of work units completed so far.  Must be
            a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="workUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.IProgressMonitorPresenter">
      <summary>
            A progress monitor presenter attaches a progress monitor to a view.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitorPresenter.Present(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Presents an observable progress monitor.
            </summary>
      <param name="progressMonitor">The progress monitor to present.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the presenter does not support being
            reused to present multiple progress monitors.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.IProgressMonitorProvider">
      <summary>
            A progress monitor provider runs a task with progress monitoring
            and provides clear notification of cancelation in the form of
            an <see cref="T:System.OperationCanceledException" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitorProvider.Run(Gallio.Runtime.ProgressMonitoring.TaskWithProgress)">
      <summary>
            Runs a task with a progress monitor.
            </summary>
      <param name="task">The task to run, never null.</param>
      <exception cref="T:System.OperationCanceledException">Thrown if the task is canceled.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.LogProgressMonitorPresenter">
      <summary>
            Displays progress by writing a series of messages to an <see cref="T:Gallio.Runtime.Logging.ILogger" /> as the name
            of the current task changes.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.LogProgressMonitorPresenter.#ctor(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Create a logged progress monitor presenter.
            </summary>
      <param name="logger">A logger instance to which messages will be written.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.LogProgressMonitorPresenter.Initialize">
      <summary>
            Initializes the presenter after a progress monitor has been attached.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.LogProgressMonitorProvider">
      <summary>
            Displays progress by writing a series of messages to an <see cref="T:Gallio.Runtime.Logging.ILogger" /> as the name
            of the current task changes.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.LogProgressMonitorProvider.#ctor(Gallio.Runtime.Logging.ILogger)">
      <summary>
            Creates a log progress monitor provider.
            </summary>
      <param name="logger">The logger to which messages should be written.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.LogProgressMonitorProvider.GetPresenter">
      <summary>
            Gets a presenter for the progress monitor.
            </summary>
      <returns>The presenter.</returns>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.NullProgressMonitor">
      <summary>
            Creates instances of null progress monitors that do nothing.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.NullProgressMonitor.CreateInstance">
      <summary>
            Creates a null progress monitor.
            </summary>
      <returns>The null progress monitor.</returns>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.NullProgressMonitorPresenter">
      <summary>
            A null progress monitor presenter simply does nothing.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.ProgressMonitoring.NullProgressMonitorPresenter.Instance">
      <summary>
            Gets the singleton instance of the presenter.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.NullProgressMonitorPresenter.Present(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Presents an observable progress monitor.
            </summary>
      <param name="progressMonitor">The progress monitor to present.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the presenter does not support being
            reused to present multiple progress monitors.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.NullProgressMonitorProvider">
      <summary>
            Runs tasks without reporting any progress.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.NullProgressMonitorProvider.Instance">
      <summary>
            Gets the singleton instance of the provider.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor">
      <summary>
            An observable progress monitor tracks validates arguments and tracks the state
            of the progress monitor but it does not implement any of its own behavior in response
            to the notifications received.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.BeginSubTask(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Begins a sub-task in a sub-progress monitor.
            </summary>
      <param name="subProgressMonitor">The sub-progress monitor.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.BeginTask(System.String,System.Double)">
      <summary>
            Notifies that the main task is starting.
            </summary>
      <param name="taskName">The name of the task being monitored.</param>
      <param name="totalWorkUnits">The total number of work units to perform.  Must
            be greater than 0, or <see cref="F:System.Double.NaN" /> if an indeterminate amount
            of work is to be performed.</param>
      <returns>An object that calls <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> when disposed.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="taskName" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="totalWorkUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.BeginTask(System.String,System.Double)" /> or <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> have already been called.</exception>
    </member>
    <member name="E:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Changed">
      <summary>
            Adds or removes an event handler that is called whenever the state of the progress
            monitor changes in any way.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Child">
      <summary>
            Gets the active child sub-progress monitor, or null if none.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.CompletedWorkUnits">
      <summary>
            Gets the number of work units completed so far.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.CreateSubProgressMonitor(System.Double)">
      <summary>
            Creates a sub-progress monitor that represents a given number of
            work-units as a sub-task of this progress monitor.
            </summary>
      <param name="parentWorkUnits">The total number of work units of the parent task
            that are to be represented by the sub-task.  When the sub-task completes, this much
            work will have been performed on the parent.
            Must be a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="parentWorkUnits" /> is not valid.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Done">
      <summary>
            Notifies that the work is done, either the main task is completed
            was cancelled by the user. If already done, the method has no effect.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.EndSubTask(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Ends a sub-task in a sub-progress monitor.
            </summary>
      <param name="subProgressMonitor">The sub-progress monitor.</param>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.IsDone">
      <summary>
            Returns true if <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Done" /> has been called.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.IsRunning">
      <summary>
            Returns true if <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.BeginTask(System.String,System.Double)" /> has been called and <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Done" />
            has not yet also been called.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Leaf">
      <summary>
            Gets the currently active leaf sub-progress monitor, or this one if there are
            no sub-progress monitors.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.LeafStatus">
      <summary>
            Gets the status of the most deeply nested sub-task, or the status of this
            task if there are no sub-progress monitors.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.LeafSubTaskName">
      <summary>
            Gets the name of the most deeply nested sub-task, or an empty string if
            there are no sub-progress monitors.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.NotifyRecursiveSubTaskChanged(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Called when a subtask changes in any way, including one of its own subtasks changing.
            </summary>
      <param name="subProgressMonitor">The sub-progress monitor.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnBeginSubTask(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Called when the active sub-task <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.BeginSubTask(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)" /> performs its updates.
            </summary>
      <param name="subProgressMonitor">The sub-task's progress monitor.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnBeginTask(System.String,System.Double)">
      <summary>
            Called after <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.BeginTask(System.String,System.Double)" /> performs its updates.
            </summary>
      <param name="taskName">The task name.</param>
      <param name="totalWorkUnits">The total number of work units.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnCancel">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Cancel" /> performs its updates.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnChange">
      <summary>
            Called when a state change occurs.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnDone">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Done" /> performs its updates.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnEndSubTask(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.EndSubTask(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)" /> performs its updates.
            </summary>
      <param name="subProgressMonitor">The sub-task's progress monitor.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnRecursiveSubTaskChange(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.NotifyRecursiveSubTaskChanged(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)" /> performs its updates.
            </summary>
      <param name="subProgressMonitor">The sub-task's progress monitor.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnSetStatus(System.String)">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SetStatus(System.String)" /> performs its updates.
            </summary>
      <param name="status">The status message.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnSubProgressMonitorCreated(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Called when a new progress monitor is created.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.OnWorked(System.Double)">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Worked(System.Double)" /> performs its updates.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.RemainingWorkUnits">
      <summary>
            Gets the number of remaining work units to perform, or <see cref="F:System.Double.NaN" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SetStatus(System.String)">
      <summary>
            Sets detailed status information for the current task or subtask.
            </summary>
      <param name="status">The name of the current subtask.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="status" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Status">
      <summary>
            Gets the current status message set by <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.SetStatus(System.String)" /> or an empty
            string by default.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitorCreated">
      <summary>
            Adds or removes an event handler that is called whenever a new sub-progress monitor
            is created so that the observer can attach its event handlers.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.TaskFinished">
      <summary>
            Adds or removes an event handler that is called when the task is finished.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.TaskName">
      <summary>
            Gets the name of the task or an empty string if <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.BeginTask(System.String,System.Double)" /> has
            not been called.
            </summary>
    </member>
    <member name="E:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.TaskStarting">
      <summary>
            Adds or removes an event handler that is called when the task is starting.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.TotalWorkUnits">
      <summary>
            Gets the total number of work units to perform, or
            NaN to indicate that an indeterminate amount of work is
            to be performed.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Worked(System.Double)">
      <summary>
            Notifies that a given number of work units of the main task
            have been completed.
            </summary>
      <param name="workUnits">The number of work units completed so far.  Must be
            a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="workUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor">
      <summary>
            A standard sub-progress monitor implementation that notifies its parent as work is performed.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor.#ctor(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor,System.Double)">
      <summary>
            Creates a sub-progress monitor.
            </summary>
      <param name="parent">The parent progress monitor.</param>
      <param name="parentWorkUnits">The total number of work units of the parent task
            that are to be represented by the sub-task.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor.OnBeginTask(System.String,System.Double)">
      <summary>
            Called after <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.BeginTask(System.String,System.Double)" /> performs its updates.
            </summary>
      <param name="taskName">The task name.</param>
      <param name="totalWorkUnits">The total number of work units.</param>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor.OnCancel">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.CancelableProgressMonitor.Cancel" /> performs its updates.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor.OnChange">
      <summary>
            Called when a state change occurs.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor.OnDone">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Done" /> performs its updates.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.SubProgressMonitor.OnWorked(System.Double)">
      <summary>
            Called when <see cref="M:Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor.Worked(System.Double)" /> performs its updates.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.ProgressMonitorTaskCookie">
      <summary>
            A progress monitor task cookie represents a task in progress.  
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ProgressMonitorTaskCookie.#ctor(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Creates an object representing a task in progress.
            </summary>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.ProgressMonitorTaskCookie.Dispose">
      <summary>
            Marks the task as finished.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor">
      <summary>
            A remote progress monitor is a serializable wrapper for another progress monitor.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor.#ctor(Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Creates a wrapper for the specified progress monitor.
            </summary>
      <param name="progressMonitor">The progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor.BeginTask(System.String,System.Double)">
      <summary>
            Notifies that the main task is starting.
            </summary>
      <param name="taskName">The name of the task being monitored.</param>
      <param name="totalWorkUnits">The total number of work units to perform.  Must
            be greater than 0, or <see cref="F:System.Double.NaN" /> if an indeterminate amount
            of work is to be performed.</param>
      <returns>An object that calls <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> when disposed.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="taskName" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="totalWorkUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.BeginTask(System.String,System.Double)" /> or <see cref="M:Gallio.Runtime.ProgressMonitoring.IProgressMonitor.Done" /> have already been called.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor.CreateSubProgressMonitor(System.Double)">
      <summary>
            Creates a sub-progress monitor that represents a given number of
            work-units as a sub-task of this progress monitor.
            </summary>
      <param name="parentWorkUnits">The total number of work units of the parent task
            that are to be represented by the sub-task.  When the sub-task completes, this much
            work will have been performed on the parent.
            Must be a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="parentWorkUnits" /> is not valid.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor.Done">
      <summary>
            Notifies that the work is done, either the main task is completed
            was cancelled by the user. If already done, the method has no effect.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor.SetStatus(System.String)">
      <summary>
            Sets detailed status information for the current task or subtask.
            </summary>
      <param name="status">The name of the current subtask.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="status" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RemoteProgressMonitor.Worked(System.Double)">
      <summary>
            Notifies that a given number of work units of the main task
            have been completed.
            </summary>
      <param name="workUnits">The number of work units completed so far.  Must be
            a finite value greater than or equal to 0.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="workUnits" /> is not valid.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown if the task is not running.</exception>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.RichConsoleProgressMonitorPresenter">
      <summary>
            A console progress monitor presenter displays a simple tally of the amount of work
            to be done on the main task as a bar chart.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RichConsoleProgressMonitorPresenter.#ctor(Gallio.Runtime.ConsoleSupport.IRichConsole)">
      <summary>
            Creates a console presenter for a progress monitor.
            </summary>
      <param name="console">The console.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="console" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RichConsoleProgressMonitorPresenter.Initialize">
      <summary>
            Initializes the presenter after a progress monitor has been attached.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.RichConsoleProgressMonitorProvider">
      <summary>
            A console progress monitor displays a simple tally of the amount of work
            to be done on the main task as a bar chart.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RichConsoleProgressMonitorProvider.#ctor(Gallio.Runtime.ConsoleSupport.IRichConsole)">
      <summary>
            Creates a rich console progress monitor provider.
            </summary>
      <param name="console">The console to which messages should be written.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="console" /> is null.</exception>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.RichConsoleProgressMonitorProvider.GetPresenter">
      <summary>
            Gets a presenter for the progress monitor.
            </summary>
      <returns>The presenter.</returns>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.SubProgressMonitorCreatedEventArgs">
      <summary>
            Provides a reference to the newly created sub-progress monitor.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.ProgressMonitoring.SubProgressMonitorCreatedEventArgs.#ctor(Gallio.Runtime.ProgressMonitoring.ObservableProgressMonitor)">
      <summary>
            Creates an event object.
            </summary>
      <param name="subProgressMonitor">The new sub-progress monitor.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="subProgressMonitor" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.ProgressMonitoring.SubProgressMonitorCreatedEventArgs.SubProgressMonitor">
      <summary>
            Gets the newly created sub-progress monitor.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.ProgressMonitoring.TaskWithProgress">
      <summary>
            Represents a task to be executed with a progress monitor.
            </summary>
      <param name="progressMonitor">The progress monitor, never null.</param>
    </member>
    <member name="T:Gallio.Runtime.Security.BaseElevatedCommand`2">
      <summary>
            Abstract base class for implementing elevated commands.
            </summary>
      <typeparam name="TArg">The argument type for the command, must be serializable.</typeparam>
      <typeparam name="TResult">The result type for the command, must be serializable.</typeparam>
    </member>
    <member name="M:Gallio.Runtime.Security.BaseElevatedCommand`2.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.Security.BaseElevatedCommand`2" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.Security.BaseElevatedCommand`2.Execute(System.Object,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Executes the command.
            </summary>
      <param name="arguments">The command arguments.</param>
      <param name="progressMonitor">The progress monitor, non-null.</param>
      <returns>The command result, must be null or serializable.</returns>
    </member>
    <member name="M:Gallio.Runtime.Security.BaseElevatedCommand`2.Execute(`0,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Executes the command.
            </summary>
      <param name="arguments">The command arguments.</param>
      <param name="progressMonitor">The progress monitor, non-null.</param>
      <returns>The command result, must be null or serializable.</returns>
    </member>
    <member name="T:Gallio.Runtime.Security.DefaultElevationManager">
      <summary>
            Default implementation of <see cref="T:Gallio.Runtime.Security.IElevationManager" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Security.DefaultElevationManager.#ctor(Gallio.Runtime.IRuntime)">
      <summary>
            Creates an elevation manager.
            </summary>
      <param name="runtime">The runtime, not null.</param>
    </member>
    <member name="P:Gallio.Runtime.Security.DefaultElevationManager.HasElevatedPrivileges">
      <summary>
            Returns true if the user of the current process has elevated privileges.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Security.DefaultElevationManager.TryElevate(Gallio.Runtime.Security.ElevationAction,System.String)">
      <summary>
            Acquires a context for performing elevated commands.
            </summary>
      <param name="elevationAction">An action to be provided with an elevation context
            within which elevated commands may be invoked.</param>
      <param name="reason">Specifies the reason an elevation is required.  The
            reason may be displayed to the user to explain the purpose of the request.</param>
      <returns>True if the elevation context was acquired and the action completed
            successfully, false if the action failed or elevation was forbidden by the user or by the
            operating system.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason" />
            or <paramref name="elevationAction" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Security.ElevationAction">
      <summary>
            Performs an action using an elevation context.
            </summary>
      <param name="context">The elevation context, not null.</param>
      <returns>True if the action completed successfully.</returns>
    </member>
    <member name="T:Gallio.Runtime.Security.IElevatedCommand">
      <summary>
            Represents a command to be executed in an elevated context.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Security.IElevatedCommand.Execute(System.Object,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Executes the command.
            </summary>
      <param name="arguments">The command arguments.</param>
      <param name="progressMonitor">The progress monitor, non-null.</param>
      <returns>The command result, must be null or serializable.</returns>
    </member>
    <member name="T:Gallio.Runtime.Security.IElevationContext">
      <summary>
            Provides a context within which commands may be executed with elevated privileges.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Security.IElevationContext.Execute(System.String,System.Object,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Executes an elevated command.
            </summary>
      <param name="elevatedCommandId">The command id.</param>
      <param name="arguments">The command arguments, must be null or serializable.</param>
      <param name="progressMonitor">The progress monitor.</param>
      <returns>The command result.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="elevatedCommandId" />
            or <paramref name="progressMonitor" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.Security.IElevationManager">
      <summary>
            Provides privilege elevation services to perform tasks that require administrative rights.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.Security.IElevationManager.HasElevatedPrivileges">
      <summary>
            Returns true if the user of the current process has elevated privileges.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.Security.IElevationManager.TryElevate(Gallio.Runtime.Security.ElevationAction,System.String)">
      <summary>
            Acquires a context for performing elevated commands.
            </summary>
      <param name="elevationAction">An action to be provided with an elevation context
            within which elevated commands may be invoked.</param>
      <param name="reason">Specifies the reason an elevation is required.  The
            reason may be displayed to the user to explain the purpose of the request.</param>
      <returns>True if the elevation context was acquired and the action completed
            successfully, false if the action failed or elevation was forbidden by the user or by the
            operating system.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason" />
            or <paramref name="elevationAction" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.BaseUtilityCommand`1">
      <summary>
            Abstract base class for a utility command.
            </summary>
      <typeparam name="TArguments">The arguments type, may be <see cref="T:System.Object" />
            for commands with no arguments.</typeparam>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.BaseUtilityCommand`1.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.UtilityCommands.BaseUtilityCommand`1" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.BaseUtilityCommand`1.Execute(Gallio.Runtime.UtilityCommands.UtilityCommandContext,`0)">
      <summary>
            Executes the command.
            </summary>
      <param name="context">The command execution context, not null.</param>
      <param name="arguments">The typed command arguments, not null.</param>
      <returns>The command exit code, zero for success, non-zero for errors.</returns>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.BaseUtilityCommand`1.ValidateArguments(`0,Gallio.Runtime.ConsoleSupport.CommandLineErrorReporter)">
      <summary>
            Validates the command arguments.
            </summary>
      <param name="arguments">The arguments object, not null.</param>
      <param name="errorReporter">The error reporter, not null.</param>
      <returns>True if the arguments are valid.</returns>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.ClearCurrentUserPluginCacheUtilityCommand">
      <summary>
            A utility command to clear the current user's plugin metadata cache.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ClearCurrentUserPluginCacheUtilityCommand.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.UtilityCommands.ClearCurrentUserPluginCacheUtilityCommand" /> class</summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ClearCurrentUserPluginCacheUtilityCommand.Execute(Gallio.Runtime.UtilityCommands.UtilityCommandContext,System.Object)">
      <summary>
            Executes the command.
            </summary>
      <param name="context">The command execution context, not null.</param>
      <param name="arguments">The typed command arguments, not null.</param>
      <returns>The command exit code, zero for success, non-zero for errors.</returns>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.DefaultUtilityCommandManager">
      <summary>
            The default utility command manager implementation.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.DefaultUtilityCommandManager.#ctor(Gallio.Runtime.Extensibility.ComponentHandle{Gallio.Runtime.UtilityCommands.IUtilityCommand,Gallio.Runtime.UtilityCommands.UtilityCommandTraits}[])">
      <summary>
            Creates a utility command manager.
            </summary>
      <param name="commandHandles">The command handles, not null.</param>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.DefaultUtilityCommandManager.CommandHandles">
      <summary>
            Gets handles for all registered utility commands.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.DefaultUtilityCommandManager.GetCommand(System.String)">
      <summary>
            Gets the utility command with the specified name ignoring case, or null if not registered.
            </summary>
      <param name="name">The command name.</param>
      <returns>The command.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.IUtilityCommand">
      <summary>
            A utility command is a small command-line tool that can be invoked
            via the Gallio.Utility.exe program.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.IUtilityCommand.Execute(Gallio.Runtime.UtilityCommands.UtilityCommandContext)">
      <summary>
            Executes the command.
            </summary>
      <param name="context">The command execution context, not null.</param>
      <returns>The command exit code, zero for success, non-zero for errors.</returns>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.IUtilityCommand.GetArgumentClass">
      <summary>
            Gets the type of a class used to provide arguments to the command.
            </summary>
      <returns>The argument class.</returns>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.IUtilityCommand.ValidateArguments(System.Object,Gallio.Runtime.ConsoleSupport.CommandLineErrorReporter)">
      <summary>
            Validates the command arguments.
            </summary>
      <param name="arguments">The arguments object, not null.</param>
      <param name="errorReporter">The error reporter, not null.</param>
      <returns>True if the arguments are valid.</returns>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.IUtilityCommandManager">
      <summary>
            Provides services for managing utility commands.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.IUtilityCommandManager.CommandHandles">
      <summary>
            Gets handles for all registered utility commands.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.IUtilityCommandManager.GetCommand(System.String)">
      <summary>
            Gets the utility command with the specified name ignoring case, or null if not registered.
            </summary>
      <param name="name">The command name.</param>
      <returns>The command.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name" /> is null.</exception>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand">
      <summary>
            An elevated command used for resetting the installation id.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.#ctor">
      <summary>
            Initializes the command.
            </summary>
    </member>
    <member name="F:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.ElevatedCommandId">
      <summary>
            The id of this elevated command.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.Execute(Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.Arguments,Gallio.Runtime.ProgressMonitoring.IProgressMonitor)">
      <summary>
            Executes the command.
            </summary>
      <param name="arguments">The command arguments.</param>
      <param name="progressMonitor">The progress monitor, non-null.</param>
      <returns>The command result, must be null or serializable.</returns>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.Arguments">
      <summary>
            Arguments for the command.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.Arguments.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Gallio.Runtime.UtilityCommands.ResetInstallationIdElevatedCommand.Arguments" /> class</summary>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.ResetInstallationIdUtilityCommand">
      <summary>
            A utility command to reset the installation id.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ResetInstallationIdUtilityCommand.#ctor(Gallio.Runtime.Security.IElevationManager)">
      <summary>
            Creates the command.
            </summary>
      <param name="elevationManager">The elevation manager, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.ResetInstallationIdUtilityCommand.Execute(Gallio.Runtime.UtilityCommands.UtilityCommandContext,System.Object)">
      <summary>
            Executes the command.
            </summary>
      <param name="context">The command execution context, not null.</param>
      <param name="arguments">The typed command arguments, not null.</param>
      <returns>The command exit code, zero for success, non-zero for errors.</returns>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.UtilityCommandContext">
      <summary>
            Describes the execution context of a utility command and allows it
            to interact with the environment.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.UtilityCommandContext.#ctor(System.Object,Gallio.Runtime.ConsoleSupport.IRichConsole,Gallio.Runtime.Logging.ILogger,Gallio.Runtime.ProgressMonitoring.IProgressMonitorProvider,Gallio.Runtime.Logging.Verbosity)">
      <summary>
            Creates a utility command context.
            </summary>
      <param name="arguments">The parsed command line arguments.</param>
      <param name="console">The console.</param>
      <param name="logger">The logger.</param>
      <param name="progressMonitorProvider">The progress monitor provider.</param>
      <param name="verbosity">The verbosity.</param>
      <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="arguments" />,
            <paramref name="console" />, <paramref name="logger" /> or <paramref name="progressMonitorProvider" /> is null.</exception>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandContext.Arguments">
      <summary>
            Gets the parsed command-line arguments.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandContext.Console">
      <summary>
            Gets the console.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandContext.Logger">
      <summary>
            Get the logger for writing messages to the console colored and
            filtered by severity.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandContext.ProgressMonitorProvider">
      <summary>
            Gets the progress monitor provider for obtaining console progress monitors,
            or a null progress monitor provider if progress monitoring has been disabled.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandContext.Verbosity">
      <summary>
            Gets the verbosity requested by the user.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.UtilityCommandTraits">
      <summary>
            Provides traits for <see cref="T:Gallio.Runtime.UtilityCommands.IUtilityCommand" />.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.UtilityCommandTraits.#ctor(System.String,System.String)">
      <summary>
            Creates utility command traits.
            </summary>
      <param name="name">The unique name of the utility command.</param>
      <param name="description">The description of the utility command.</param>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandTraits.Description">
      <summary>
            Gets the description of the utility command.
            </summary>
    </member>
    <member name="P:Gallio.Runtime.UtilityCommands.UtilityCommandTraits.Name">
      <summary>
            Gets the unique name of the utility command.
            </summary>
    </member>
    <member name="T:Gallio.Runtime.UtilityCommands.VerifyInstallationUtilityCommand">
      <summary>
            A utility command to verify that the plugin metadata and installation parameters are correct.
            </summary>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.VerifyInstallationUtilityCommand.#ctor(Gallio.Runtime.IRuntime)">
      <summary>
            Creates the command.
            </summary>
      <param name="runtime">The runtime, not null.</param>
    </member>
    <member name="M:Gallio.Runtime.UtilityCommands.VerifyInstallationUtilityCommand.Execute(Gallio.Runtime.UtilityCommands.UtilityCommandContext,System.Object)">
      <summary>
            Executes the command.
            </summary>
      <param name="context">The command execution context, not null.</param>
      <param name="arguments">The typed command arguments, not null.</param>
      <returns>The command exit code, zero for success, non-zero for errors.</returns>
    </member>
  </members>
</doc>